【问题标题】:Where is the currently selected "Solution Configuration" option stored in VS 2010 or 2012?VS 2010 或 2012 中当前选择的“解决方案配置”选项存储在哪里?
【发布时间】:2013-03-20 09:30:42
【问题描述】:

在 VS 2010 或 VS 2012 中,您可以选择已自定义的“解决方案配置”,它可以定义与 #if #elif #endif 语法一起使用的局部变量,以通过以下方式动态更改代码那个下拉。同样在该配置中,您可以选择是构建还是部署、目标平台以及每个项目要使用的本地配置。

当您选择一个配置,然后关闭 Visual Studio,然后重新打开 Visual Studio,它会记住您选择的配置,我似乎无法弄清楚,是它保存/存储该配置信息的位置,并且我需要自动化。

有人知道吗:

  • 一种使用命令行编译器通过解决方案配置自动化解决方案级别构建的方法
  • Visual Studio 存储当前选择的配置信息的位置
  • 或者,理想情况下,两者兼而有之?

【问题讨论】:

    标签: visual-studio command-line configuration build automation


    【解决方案1】:

    Visual Studio 实际上将解决方案的构建配置选择存储在解决方案文件本身中。即使“*.suo”文件未检入版本控制,解决方案的构建配置选择也会传播到同步到同一版本控制系统的其他机器。

    如果您打开一个“*.sln”文件,您将看到一个名为“GlobalSection(ProjectConfigurationPlatforms)”的部分。如果未检查项目的构建或部署,您将看到如下内容:

    {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}.Debug|混合平台.Build.0 = 调试|任何 CPU
    {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}.Debug|混合平台.Deploy.0 = 调试|任何 CPU

    “.0”字符串表示未选中构建和部署。

    【讨论】:

    • 在 VS 2015 和 17 中(我没有要测试的旧版本),如果未选择在该配置中构建项目,则整个 Build.0 行将不存在
    【解决方案2】:

    一种使用命令行编译器通过解决方案配置自动化解决方案级别构建的方法

    msbuild.exe /p:Configuration="Solution Config" /p:Platform="Solution Platform"
    

    例如,你可以这样做:

    msbuild.exe /p:Configuration="Release" YourSolution.sln
    

    构建“发布”配置。

    Visual Studio 存储当前选择的配置信息的位置

    这存储在用户的.suo 文件中,位于.sln(解决方案)文件旁边。

    【讨论】:

    • 太棒了,谢谢,我发誓我检查了 suo 文件,但不知何故,我第一次错过了!
    猜你喜欢
    • 2011-09-01
    • 1970-01-01
    • 2012-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-22
    • 1970-01-01
    相关资源
    最近更新 更多