.net core 在NuGet包中定义C#预处理器符号
NuGet包能否为消费项目定义预处理器符号?如果是,如何处理?如果您的包(.net core 在NuGet包中定义C#预处理器符号,.net-core,msbuild,nuget,preprocessor,.net Core,Msbuild,Nuget,Preprocessor,NuGet包能否为消费项目定义预处理器符号?如果是,如何处理?如果您的包(My.ExamplePackage)在生成目录(sobuild\MyExamplePackage.targets)中包含一个类似包名+.targets的MSBuild文件,您可以使用它修改项目中可能已设置为默认值或重置的DefineConstants属性: <Project> <PropertyGroup> <DefineConstants>$(DefineConstants
My.ExamplePackage
)在生成目录(sobuild\MyExamplePackage.targets
)中包含一个类似包名+.targets
的MSBuild文件,您可以使用它修改项目中可能已设置为默认值或重置的DefineConstants
属性:
<Project>
<PropertyGroup>
<DefineConstants>$(DefineConstants);MY_PREPOCESSOR_SYMBOL</DefineConstants>
</PropertyGroup>
</Project>
美元(定义常量);我的前置处理器符号
虽然包可以同时包含.props
和.targets
文件,但是.targets
文件将在构建csproj文件的主体之后导入,因此如果项目重新设置.DefineConstants
(意思是不通过在$(DefineConstant);
)的话,.targets
文件有可能添加到此属性