就像在DEBUG / RELEASE模式下的项目一样我们使用
#ifdef DEBUG
...
TARGET是否有相同的东西? (exe / lib / winexe)吗?
没有内置任何内容,但是您可以在构建中定义任何您喜欢的内容;这可以按项目手动完成,也可以更动态地完成。这是一个示例,如果目标框架是(两个)中的任意一个,则有条件地附加一个PLAT_NO_EMITDLL
符号,以便代码可以#if PLAT_NO_EMITDLL
而不是在C#文件中具有所有“哪个框架具有哪些平台功能”逻辑:
<PropertyGroup Condition="'$(TargetFramework)' == 'netstandard2.0'">
<DefineConstants>$(DefineConstants);PLAT_NO_EMITDLL</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition="'$(TargetFramework)' == 'netstandard2.1'">
<DefineConstants>$(DefineConstants);PLAT_NO_EMITDLL</DefineConstants>
</PropertyGroup>
根据您的情况,您可能希望查看$(OutputType)
。