为项目设置默认构建配置

hsi*_*sim 3 .net visual-studio-2010 project-files

我在Visual Studio项目文件中有几种可能的配置.如何指定默认选择哪一个(当不.suo存在时)?现在,当我在Visual Studio中打开项目时,默认情况下会选择调试配置.

项目文件的相关部分:

<PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <ProductVersion>...</ProductVersion>
    <SchemaVersion>...</SchemaVersion>
    <ProjectGuid>{...}</ProjectGuid>
    <OutputType>...</OutputType>
    <RootNamespace>...</RootNamespace>
    <AssemblyName>AAAAA</AssemblyName>
    <MyType>Windows</MyType>
    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <DebugType>Full</DebugType>
    <DefineDebug>false</DefineDebug>
    <DefineTrace>true</DefineTrace>
    <Optimize>false</Optimize>
    <OutputPath>Bin\Release</OutputPath>
    <DocumentationFile>AAAAA.xml</DocumentationFile>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <DefineDebug>true</DefineDebug>
    <DefineTrace>true</DefineTrace>
    <OutputPath>bin\</OutputPath>
    <DocumentationFile>AAAAA.xml</DocumentationFile>
    <PlatformTarget>AnyCPU</PlatformTarget>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)

我希望默认选择此配置:

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <DebugType>Full</DebugType>
    <DefineDebug>false</DefineDebug>
    <DefineTrace>true</DefineTrace>
    <Optimize>false</Optimize>
    <OutputPath>Bin\Release</OutputPath>
    <DocumentationFile>AAAAA.xml</DocumentationFile>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)

Pal*_*lec 5

Visual Studio始终通过解决方案调用构建.每个解决方案配置都有一个(不区分大小写)名称,并将每个项目映射到其配置.可以通过" 构建">"配置管理器"编辑解决方案配置,并在此处或工具栏的下拉列表中选择当前活动的配置管理器.

使用哪种解决方案构建配置?

活动构建配置保存在解决方案用户选项文件(.suo)中.这是每用户配置,不应在源代码管理中进行检查.没有共享配置.

如果没有.suo文件,则VS选择配置,其名称按字母顺序排序,但有几个例外:

  • 所有以"Debug"开头的名称在"A"之前排序.
  • S1S2排序前S1对于任何两个字符串S1S2.(␣表示空格.)

例如,如果您有此配置列表,则默认选择"全部调试".如果删除列表中的第一个配置,请关闭VS并删除该*.suo文件,默认情况下将选中列表中的下一个文件.

Debug all
Debug
Debugging
A release
ARelease
Release
WinterBash

请注意,VS显示不同的顺序:

A release
ARelease
Debug
Debug all
Debugging
Release
WinterBash

使用哪种解决方案?

如果MyProject.csproj直接打开项目文件(例如),Visual Studio将尝试查找解决方案文件.

  1. MyProject.sln首选同一目录()中具有相同名称的解决方案.如果找到,则使用它.
  2. *.sln搜索同一目录()中的任何其他解决方案.如果找到一个,则使用它.
  3. 搜索父目录以查找任何解决方案(..\*.sln).如果找到一个,则使用它.
  4. 否则,VS会创建一个MyProject.sln仅包含项目的新解决方案(名为),并在退出时询问保存位置.这个新解决方案的构建配置对应于项目所具有的配置.

请注意,即将推出的VS 2017可能会有所不同,因为它甚至支持没有项目的裸文件.

您可以在"属性"窗口中看到解决方案的路径.(首先在Solution Explorer中选择解决方案.)


顺便说,第一PropertyGroup在项目文件中指定将由的MSBuild使用默认值时ConfigurationPlatform属性是空的(未指定).Visual Studio始终指定这些属性,因此默认值无关紧要.