.net 设置项目的默认生成配置

.net 设置项目的默认生成配置,.net,visual-studio-2010,project-files,.net,Visual Studio 2010,Project Files,我在VisualStudio项目文件中有几种可能的配置。如何指定默认情况下选择的选项(当不存在.suo时)?现在,当我在VisualStudio中打开项目时,默认情况下选择了调试配置 Debug all Debug Debugging A release ARelease Release WinterBash 项目文件的相关部分: <PropertyGroup> <Configuration Condition=" '$(Configuration)' == '' "&

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

Debug all Debug Debugging A release ARelease Release WinterBash 项目文件的相关部分:

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

调试
任意CPU
...
...
{...}
...
...
AAAA
窗户
v4.0
满满的
假的
真的
假的
Bin\Release
AAAAA.xml
真的
满的
真的
真的
垃圾箱\
AAAAA.xml
任意CPU
我希望默认情况下选择此配置:

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

满满的
假的
真的
假的
Bin\Release
AAAAA.xml

我相信构建配置是按字母顺序列出的。这意味着“调试”配置将是默认项。而“释放”将不会被取消。如果您希望Release成为默认配置,您可以创建一个新的生成配置,并确保它在“Debug”之前显示,方法是使用字母排序,例如将生成配置命名为“ARelease”。
虽然不是一个完美的解决方案,但它可以工作。

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

使用哪种解决方案生成配置? 活动生成配置保存在解决方案用户选项文件(
.suo
)中。这是每个用户的配置,不应在源代码管理中进行检查。此服务器不存在共享配置

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

  • 所有以“Debug”开头的名称在“A”之前排序
  • S1␣S2在S1之前对任意两个字符串S1和S2排序。(␣ 表示一个空格。)
例如,如果您有此配置列表,则默认情况下选择“全部调试”。如果删除列表中的第一个配置,关闭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将尝试查找解决方案文件

  • 首选在同一目录中使用相同名称的解决方案(
    MyProject.sln
    )。如果找到了,就使用它
  • 搜索同一目录(
    *.sln
    )中的任何其他解决方案。如果恰好找到一个,则使用它
  • 在父目录中搜索任何解决方案(
    。\*.sln
    )。如果恰好找到一个,则使用它
  • 否则,VS将创建一个仅包含该项目的新解决方案(名为
    MyProject.sln
    ),并在退出时询问保存该项目的位置。此新解决方案的构建配置与项目的构建配置相对应
  • 请注意,这在即将到来的VS2017中可能会有所不同,因为它甚至支持没有项目的裸文件

    您可以在“属性”窗口中将解决方案的路径视为路径。(首先在解决方案资源管理器中选择解决方案。)



    顺便说一下,项目文件中的第一个
    PropertyGroup
    指定了当
    Configuration
    Platform
    属性为空(未指定)时,MSBuild将使用的默认值。Visual Studio始终指定这些属性,因此默认值是不相关的。

    不确定,但请尝试将其更改为
    Debug
    Release
    它不使用字母顺序。如果没有.suo文件,则首选Debug或默认以Debug开头的名称。例如,即使存在名为“ARelease”的配置,也会选择调试配置。您知道S1.S2是否在S1之前对任意两个字符串S1和S2排序?在我看来是这样的。我有Debug.Custom和Debug的配置。当我克隆解决方案并打开VS Debug时,选择了“自定义”。@dyedwiper,我没有时间测试它,但似乎连句点字符都可以像空格一样处理。想知道它们是如何相对排序的,即“Debug Custom”与“Debug.Custom”的顺序是什么。我没有关于答案排序部分的官方来源,我记得我是通过反复试验得出的,创建项目和测试所需的解决方案需要一些时间。