我在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>
我希望默认选择此配置:
<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>
答案 0 :(得分:5)
Visual Studio始终通过解决方案调用构建。每个解决方案配置都有一个(不区分大小写)名称,并将每个项目映射到其配置。可以通过 Build&gt;编辑解决方案配置在那里或在工具栏的下拉列表中选择配置管理器和当前活动的。
活动构建配置保存在解决方案用户选项文件(.suo
)中。这是每用户配置,不应在源代码管理中进行检查。没有共享配置。
如果没有.suo
文件,VS会选择配置,其名称按字母顺序排序,但有几个例外:
E.g。如果你有这个配置列表,&#34;全部调试&#34;默认选中。如果删除列表中的第一个配置,请关闭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
)。如果只找到一个,则使用它。MyProject.sln
),并在退出时将其保存在哪里。这个新解决方案的构建配置与项目的配置相对应。请注意,即将推出的VS 2017可能会有所不同,因为它甚至支持没有项目的裸文件。
您可以在“属性”窗口中以路径的形式查看解决方案的路径。 (首先在解决方案资源管理器中选择解决方案。)
顺便说一下,项目文件中的第一个PropertyGroup
指定当Configuration
和Platform
属性为空(未指定)时MSBuild使用的默认值。 Visual Studio始终指定这些属性,因此默认值无关紧要。
答案 1 :(得分:0)
我相信构建配置按字母顺序列出。这意味着“Debug”配置将是默认项。并且“发布”不会。如果您希望Release是默认配置,您可以创建一个新的构建配置,并确保在“Debug”之前显示它,方法是使用字母排序,例如:将构建配置命名为“ARelease”。 不是一个完美的解决方案,但它确实有效。