在 Visual Studio 中更改项目引用中的条件编译

Nas*_*adi 6 c# build visual-studio

我有一个类库 A 用于我的解决方案中的其他项目,如 B 和 C。

类库 A 根据预处理器指令的存在而表现不同,例如:

#if some_directive
      // some code
#else
      // some other code
#end
Run Code Online (Sandbox Code Playgroud)

如何在项目 B 中使用类库 A 启用some_directive但在项目 C 中使用禁用some_directive

Nas*_*adi 1

目前好像不支持这个功能。根据这篇文章

该语言不支持通过预处理器宏进行引用的概念。您可以做的是使用 msbuild 文件并更改基于 msbuild 参数添加的引用集。

我使用的另一个解决方法是使用“配置管理器”中的解决方案配置。我创建了两种配置来构建每个项目 B 或 C,其中仅在其中一种配置中启用了预处理器指令。