Dot-Net
為項目設置預設建構配置
我在 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>
Visual Studio 始終通過解決方案呼叫建構。每個解決方案配置都有一個(不區分大小寫)名稱,並將每個項目映射到其配置。可以通過Build > Configuration manager編輯解決方案配置,並在此處或工具欄的下拉菜單中選擇目前活動的配置。
使用哪種解決方案建構配置?
活動建構配置保存在解決方案使用者選項文件 (
.suo) 中。這是每個使用者的配置,不應在原始碼管理中進行檢查。為此不存在共享配置。如果沒有
.suo文件,VS 會選擇配置,其名稱按字母順序排列,但有幾個例外:
- 所有以“Debug”開頭的名稱都排在“A”之前。
- 對於任意兩個字元串S1和S2 , S1 ␣ S2在**S1之前排序。(␣ 表示空格。)
例如,如果您有此配置列表,則預設選擇“全部調試”。如果刪除列表中的第一個配置,關閉 VS 並刪除
*.suo文件,預設會選擇列表中的下一個。全部調試 調試 調試 發布 A釋放 發布 冬季狂歡請注意,VS 顯示不同的順序:
發布 A釋放 調試 全部調試 調試 發布 冬季狂歡使用哪種解決方案?
如果您
MyProject.csproj直接打開項目文件(例如 ),Visual Studio 會嘗試查找解決方案文件。
- 首選同目錄(
MyProject.sln)同名的解決方案。如果找到,則使用它。- 搜尋同一目錄 (
*.sln) 中的任何其他解決方案。如果恰好找到一個,則使用它。- 在父目錄中搜尋任何解決方案 (
..\*.sln)。如果恰好找到一個,則使用它。- 否則,VS 會創建一個僅包含項目的新解決方案(名為
MyProject.sln),並在退出時詢問將其保存在哪裡。這個新解決方案的建構配置對應於項目的建構配置。請注意,這在即將到來的 VS 2017 中可能會有所不同,因為它甚至支持沒有項目的裸文件。
您可以在“屬性”視窗中將解決方案的路徑視為路徑。(首先在解決方案資源管理器中選擇解決方案。)
順便說一句,
PropertyGroup項目文件中的第一個指定了 MSBuild 在Configuration和Platform屬性為空(未指定)時使用的預設值。Visual Studio 始終指定這些屬性,因此預設值無關緊要。