首页 > 解决方案 > 错误取决于构建配置的选择(调试与发布)

问题描述

在我的一个项目中,我有两个配置文件:一个包含开发环境的配置数据,一个包含发布环境的配置数据。

我希望根据构建配置选择配置文件,所以我想出了以下代码段:

#if DEBUG
    private static FileInfo ConfigFile = new FileInfo(Path.Combine("xml", "dev-config.xml"));
    private static FileInfo RepoFile = new FileInfo(Path.Combine("xml", "dev-repositories.xml"));
#else
    private static FileInfo ConfigFile = new FileInfo(Path.Combine("xml", "release-config.xml"));
    private static FileInfo RepoFile = new FileInfo(Path.Combine("xml", "release-repositories.xml"));
#endif

选择Debug-build-config 时,代码编译良好并生成有用的可执行文件

如果选择了调试,则 Visual Studio

但是,如果我选择Release-build-config,编译器突然告诉我无法解析某种类型

如果选择了发布,则 Visual Studio

所以我想这是由于预处理器声明不佳,但我在这里找不到错误

标签: c#preprocessor

解决方案


推荐阅读