开发者

Specifying project Property values from within Visual Studio

If I have properties defined in my project file like so

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <PropertyGroup>
        <foo>bar</foo>
    </PropertyGroup>
</Project>

I can easily set these properties on the MSBuild command line using /p:foo=newValue.

Is there a way of specifying the prope开发者_Go百科rty value within the Visual studio (2010) GUI? I have had a look but could not find anything within the project properties pages.


Are you looking for conditional compilation symbols?

In VS2010:

  1. Go to the project properties
  2. Go to the Build tab
  3. Under General you will see a place to define "Conditional compilation symbols".

You can enter "foo=bar" there, and you will get this in your .csproj file:

<Project ...>
  <PropertyGroup ...>
    <DefineConstants>Foo=bar</DefineConstants>
  </PropertyGroup>
</Project>


I found this question when looking for an answer to the same thing: I can easily use /p or environment variables to control things when calling MSBuild on the command line, but how do you do similar in the IDE?

My solution was to add a “user” properties file. That is

 <!-- 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>

I can now edit some properties in the file settings.props.user conveniently located in the same directory, and not worry about accidentally checking in funny settings. Even when building in the IDE, it reads the text file anew when building. So, just keep the props.user file open in a text editor and it's handy enough to change on the fly, without an IDE extension.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜