与this question相关。
我真正想要一种设置可从Vis Studio 2010 IDE设置的键值对的方法。我似乎无法在IDE中设置Project属性值,因此我正在考虑使用编译器常量。
所以,如果我将编译器常量设置为
<DefineConstants>Foo=bar;Key=Value 2;</DefineConstants>
我可以解析这个(在一个BeforeBuild目标中说),这样我就可以提取“bar”和“Value 2”的值吗?我的MSBuild技能几乎没有,我的谷歌foo没有找到任何解决方案。
答案 0 :(得分:0)
使用MSBuild编译项目时可以覆盖此值。
msbuild.exe myproj.csproj /p:DefineConstants="foo=true"
您无法在BeforeBuild任务中设置构建属性,但可以使用以下命令读取它们:
$(DefineConstants)
这将返回原始字符串,您需要使用批处理命令解析字符串,以便在BeforeBuild步骤中将它们分隔为键/值对。
不确定你要做什么,DefineConstants就是这样,并在代码中引用条件编译。如果要添加自定义构建属性,可以编辑csproj文件并包含自己的目标文件。这取决于您想要访问它们的位置和原因。在构建过程中IDE(插件)还是代码?