如何将自定义生成属性传递给csproj?

时间:2013-08-14 19:55:18

标签: visual-studio-2012 msbuild csproj

如何将自定义构建属性传递给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下运行此版本。

1 个答案:

答案 0 :(得分:1)

要将自定义属性传递给msbuild命令行,请使用/ p:PropertyName = PropertyValue命令开关,这可以多次使用。然后,您的msbuild脚本中的PropertyName可用作$(PropertyName)。见msbuild commandline reference

CSharp.targets文件是一个msbuild文件,因此您必须查找要传递的属性。