This question already has answers here:
How do I set a conditional compile variable?

(3个答案)


2个月前关闭。




在Visual Studio解决方案基础上是否还有#define Constant

一个人可以在csproject的基础上定义一个常量,并且可以将#define constant放在cs文件中,但是我想知道是否可以在vs sln的基础上定义它吗?

最佳答案

实际上,您可以对Ritch的方法使用常见项目设置的变体。本质上,您必须对解决方案中每个项目文件的末尾进行一次更改:

  <PropertyGroup Condition="'$(SolutionDir)' == '' or
                     '$(SolutionDir)' == '*undefined*'">
      <SolutionDir>..\..\</SolutionDir>
    </PropertyGroup>
    <Import Project="$(SolutionDir)CommonSettings.targets" />
  </Project>

然后,您可以定义CommonSettings.targets以包含解决方案范围的设置。
  <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"
           ToolsVersion="3.5">
      <PropertyGroup>
          <TacoBuild>true</TacoBuild>
      </PropertyGroup>
  </Project>

基本上就是这样,除非您要覆盖或合并每个项目中已经定义的项目设置。下面的链接详细讨论了如何执行此操作。

http://www.ademiller.com/blogs/tech/2007/12/common-project-settings-for-your-visual-studio-solution/

09-04 06:58