如果我在项目文件中定义了属性,那么
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<foo>bar</foo>
</PropertyGroup>
</Project>
我可以使用/p:foo=newValue
轻松地在MSBuild命令行上设置这些属性。
有没有办法在Visual Studio(2010)GUI中指定属性值?我看了一下但在项目属性页面中找不到任何内容。
答案 0 :(得分:2)
您在寻找条件编译符号吗?
在VS2010中:
您可以在那里输入“foo = bar”,您将在.csproj文件中输入:
<Project ...>
<PropertyGroup ...>
<DefineConstants>Foo=bar</DefineConstants>
</PropertyGroup>
</Project>
答案 1 :(得分:1)
我在寻找同一个问题的答案时发现了这个问题:在命令行上调用MSBuild时,我可以轻松地使用/p
或环境变量来控制事情,但是你如何在IDE中做类似的事情呢?
我的解决方案是添加“用户”属性文件。那是
<!-- Running from the IDE, you can't simply set properties via /p or environment variables.
So, this local file is read if it exists. It is not checked in to version control; but can contain
settings to be used for your immediate work.
If you make a settings.props.user file, remember DO NOT check it in!
-->
<ImportGroup>
<Import
Condition="exists('$(MSBuildThisFileDirectory)settings.props.user')"
Project="$(MSBuildThisFileDirectory)settings.props.user" />
</ImportGroup>
我现在可以编辑位于同一目录中的文件settings.props.user
中的一些属性,而不用担心无意中检查有趣的设置。即使在IDE中构建,它也会在构建时重新读取文本文件。因此,只需将props.user文件保持在文本编辑器中打开,它就可以在没有IDE扩展的情况下随时更改。