.net - 如何在单独的文件(不是.csproj或app.config)中定义条件编译符号

标签 .net conditional-compilation

我们需要在类库项目中定义一个条件编译符号。不应在源代码管理中对此进行检查(它不适用于所有开发人员),因此应在.csproj或app.config文件之外的其他位置进行定义。如何做到这一点?

最佳答案

我将在配置管理器中定义各种构建类型(菜单Build→Configuration Manager),然后在每种构建类型上设置每个必需的常量。

然后,您可以让团队中的每个成员简单地选择他们想要的构建类型,它将自动使用适当的常量。 (我认为最近使用的构建类型存储在.suo文件中,该文件是“解决方案用户选项”,通常您不会检入源代码管理,因此将专门为每个用户维护该文件)。

您可以使用/define开关在C#编译器命令行上定义预处理程序常量,但是您将遇到如何调用此常量的问题。您对项目属性进行的使用以进行任何更改,都将保存在.csproj文件中。您必须从命令行完成所有建筑物的构建,而我确定您不会这样做。您也可以在MSBuild脚本中定义它们,但是会遇到同样的问题。

关于.net - 如何在单独的文件(不是.csproj或app.config)中定义条件编译符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1221343/

相关文章:

c# - 继续 Task<T> 时保留异常

c# - 最佳解决方案 : Extension Methods or a New Class?

c# - 是否有等效于 VB 的 VBC_VER 用于 c# 编译?

ios - How to subclass a renamed class?/'MKPinAnnotationView' was deprecated in iOS 15.0 : renamed to 'MKMarkerAnnotationView‘

java - Swing 表单编辑器

c# - Linq 查询 'and' 'or' 运算符

c# - 字符串包含引号字符 (')

c++ - VS2010编译器定义

c++ - C++11 中的通用 STL 兼容直方图

c++ - 我可以向编译器查询 C++0x "alignas"支持吗?