Visual Studio 2010 - 在不同的构建配置之间保留项目属性?

Kai*_*aan 12 c++ build visual-studio-2010

我的解决方案中有两个项目.我目前正在使用默认配置模式'Debug'.当我想进行'Release'构建时,我切换到Release-mode然后我看到我以前的所有项目属性都设置为default,这意味着我必须再次手动将所有属性添加到此模式.

有没有一种方便的方法可以在VS2010中解决这个问题,例如将所有属性(如包含路径,预处理器宏,构建宏等)从"调试"复制到"释放"模式?

Lih*_*ihO 12

配置设置存储在.vcproj/ .vcxprojfile中.你可以在一些文本编辑器中打开它并手动复制一些设置,但这不方便.现在,您可以在该窗口的左上角切换Debug/ Release配置时打开项目属性并复制这些设置.

下次为所有配置设置要相同的属性时,请选择"配置" All Configurations以避免麻烦.


ssu*_*ube 5

物业单可以轻松解决此问题和其他一些与财产相关的问题.

简而言之,项目中的所有属性都只是XML文档中的节点,属性组节点可以具有condition属性.它们在任何文本编辑器中都很容易更改,但一个鲜为人知的功能是能够导入其他XML文档,这些文档可以提供设置(除了一些项目特定的文档之外的所有文档).

这篇博文有一个关于使用项目表的好教程,还有一些关于这个问题的更多信息.您可以在Visual Studio中创建它们,编辑它们(包括复制现有项目设置),然后使用属性管理器(而不是属性窗口)将它们附加到项目中.

属性表中的组使用与常规设置相同的语法,可以为所有配置设置或过滤以仅应用于某些配置.它们也可以使用VS'变量和条件系统按项目名称和其他一些东西进行过滤.例如,我使用:

<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
  <ClCompile>
    <WarningLevel>Level4</WarningLevel>
    <TreatWarningAsError>true</TreatWarningAsError>
    <Optimization>Disabled</Optimization>
    <EnablePREfast>true</EnablePREfast>
    <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
  </ClCompile>
</ItemDefinitionGroup> 
Run Code Online (Sandbox Code Playgroud)

对于我的一些构建,将相同的设置应用于所有项目(此处为完整文件).

最方便的用途之一是在文件中提供构建目录,因此所有项目都统一构建到同一目录中(确保使用项目名称作为输出).