【发布时间】:2023-03-03 01:11:02
【问题描述】:
有没有办法创建标签变量
示例。 #if 目标框架
其中 target_framework = NET_471;
所以如果我想改变目标框架我可以改变
target_framework = NET_461;
【问题讨论】:
-
您可以在“条件编译符号”(属性>构建>常规)中定义
NET_471的位置执行#IF NET_471,仅适用于 .NET 4.7.1... -
通过这样做,如果有新版本出来,我仍然需要将代码更新为 NET481。我希望有一种方法来定义“条件编译变量”,这样我就不必在自己的代码中进行编辑。示例:#define targetframework1 = NET471 这样我只需要更改此定义:例如#define targetframework1 = NET481
-
不,您可以 "#define" 编译符号,但它不像 C++,它们存在或不存在,它们不能有值。如果您使用
#define而不是编译符号,您只需要记住#define的范围是仅文件,而/define或属性中的编译符号是项目范围的。 -
但是我不想使用#define。我想要一些不干扰代码的东西,也许是 .csproj 中的配置,比如使用定义常量或 smth,但我不知道该怎么做。
-
我认为你可能能得到的最接近的东西是
ConditionalAttribute,但它只能应用于方法,但会根据定义的编译符号进行编译,但你仍然必须定义它们.
标签: c# visual-studio variables tags conditional-compilation