如何将自定义构建属性传递给csproj文件?我的csproj从VS2008升级到VS2012。
在MSBuild3下,构建运行正常。我可以访问自定义属性。但是,在MSBuild4上,我有以下警告。
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.CSharp.targets(316,9): warning MSB3052: The parameter to the compiler is invalid, '/define:MyCustomProp=WHATEVER' will be ignored. [C:\src\MyProj\MyProj.csproj]
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.CSharp.targets(316,9): warning MSB3052: The parameter to the compiler is invalid, '/define:MyCustomPropTwo=WHATEVERTWO' will be ignored. [C:\src\MyProj\MyProj.csproj]
我使用在VS2008中编写的脚本在MSBuild 4下运行此版本。
答案 0 :(得分:1)
要将自定义属性传递给msbuild命令行,请使用/ p:PropertyName = PropertyValue命令开关,这可以多次使用。然后,您的msbuild脚本中的PropertyName可用作$(PropertyName)。见msbuild commandline reference
CSharp.targets文件是一个msbuild文件,因此您必须查找要传递的属性。