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

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

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

#if some_directive
      // some code
#else
      // some other code
#end

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

最佳答案 你可以使用
ConditionalAttribute做这样的事情

这是Debug.WriteLine()存在或不存在的方式,具体取决于“DEBUG”符号的存在.

您将能够为用于控制代码是否存在的条件符号定义自己的名称.

然后,您可以将该符号放入项目属性“构建”选项卡上“条件编译符号”设置的列表中,该选项卡用于您想要代码的项目.

不幸的是,这不允许您拥有“其他代码”部分,并且它仅适用于整个方法.

点赞