我有一个 .msbuild 导入,它定义了一个包含预处理器定义的属性组,其中包括:
<PropertyGroup>
<DefineConstants>$(DefineConstants);MY_CONSTANT_VALUE</DefineConstants>
</PropertyGroup>
这被<import>
编入 csproj 和 vcxproj 文件。在构建时,C# 预处理器似乎无法看到已定义的常量。但是,同一文件中的等效 C++ 预处理器定义可以正常工作,并且发现了常量:
<ItemDefinitionGroup>
<ClCompile>
<PreprocessorDefinitions>$(PreProcessorDefinitions);MY_CONSTANT_VALUE</PreprocessorDefinitions>
</ClCompile>
<ItemDefinitionGroup>
任何想法为什么这只适用于 C++?