1

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

4

1 回答 1

1

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

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

于 2014-03-01T10:51:50.800 回答