Visual Studio 2019 和更新版本中提供 [進階] 屬性頁。 若要查看該版本的檔,請將本文的Visual Studio 版本 選取器控件設定為Visual Studio 2019或更新版本。 其位於此頁面目錄頂端。 在舊版 Visual Studio 中,這些屬性會出現在 [ 一般] 屬性頁面上:
Visual Studio 2019 和更新版本中提供 [進階] 屬性頁。 顯示的特定屬性取決於項目類型。 Windows 執行階段 (通用 Windows 平台 或 UWP) 專案不會顯示此頁面。
進階屬性
目標副檔名
指定要用於建置輸出的擴展名。
.exe針對應用程式、.lib靜態連結庫和 .dll DLL,預設為 。
清除時要刪除的副檔名
[ 建>置清除 ] 功能表命令會從建置項目組態的中繼目錄中刪除檔案。 建置系統會在您執行 Clean 命令或重建時,刪除具有指定擴展名的檔案。 建置系統也會刪除任何已知的建置輸出,不管它位於哪裡。 已刪除的檔案包含任何中繼輸出,例如 .obj 檔案。 使用分號 (;) 分隔延伸模組。 您可以在延伸模組中指定通配符 (*, ?) 。
若要以程式設計方式存取此屬性,請參閱 DeleteExtensionsOnClean。
建置記錄檔
可讓您指定每當建置專案時所建立之記錄檔的非預設位置。 預設位置是由巨集 $(IntDir)$(MSBuildProjectName).log所指定。
若要變更目錄位置,您可以使用專案巨集。 如需詳細資訊,請參閱 建置命令和屬性的通用巨集。
慣用的建置工具架構
指定要使用 x86 或 x64 建置工具。
使用偵錯連結庫
指定是否要建立偵錯或發行組建。 儘管名稱如此, 使用 Debug Libraries 其實是建置系統專屬的屬性,實際上是「建立除錯建置」或「建立發佈建置」的簡稱。它為除錯或發佈建置設定了多個編譯器和連結器的屬性,包括函式庫設定。 您可以使用它來建立新平臺或新範本中的偵錯或發行組態。 我們不建議您在現有的組態中變更此屬性。 請改用個別編譯程式和連結器屬性。
啟用 Unity(JUMBO)建置
啟用更快的建置程式,在編譯之前,將許多C++原始程式檔合併成一或多個檔案。
將內容複製到 OutDir
將專案中標示為 內容 的專案複製到項目的輸出目錄 ($(OutDir))。 此設定可以簡化部署。 此屬性從 Visual Studio 2019 16.7 版開始提供。
將項目參考複製到 OutDir
將可執行檔案 (DLL 和 EXE 檔案) 項目參考項目複製到項目的輸出目錄 ($(OutDir))。 在 C++/CLI (/clr) 專案中,會忽略此屬性。 取而代之的是,每個專案參考的 Copy Local 屬性控制項目是否被複製到輸出目錄。 此設定可以簡化本機部署。 從 Visual Studio 2019 16.7 版開始提供。
將項目參考的符號複製到 OutDir
將專案參考專案的 PDB 檔案以及專案參考可執行檔案專案複製到專案的輸出目錄 ($(OutDir))。 此屬性一律會針對 C++/CLI 項目啟用。 此設定可以簡化偵錯部署。 從 Visual Studio 2019 16.7 版開始提供。
將C++運行時間複製到 OutDir
將 C++ 執行時的 DLL 複製到專案的輸出目錄($(OutDir))。 此設定可以簡化本機部署。 從 Visual Studio 2019 16.7 版開始提供。
MFC 用途
指定 MFC 專案以靜態方式或動態連結至 MFC DLL。 非 MFC 項目選取 [ 使用標準 Windows 連結庫]。
若要以程式設計方式存取此屬性,請參閱 useOfMfc。
字元集
指定是否 _UNICODE 應該設定 或 _MBCS 預處理器巨集。 也會在適當情況下影響連結器進入點。 對於 _UNICODE,期望的程式碼入口點為 wmain 或 wWinMain。 對於 _MBCS,期望的程式碼入口點為 main 或 WinMain。
若要以程式設計方式存取此屬性,請參閱 CharacterSet。
整個程式最佳化
指定 /GL 編譯程式選項和 /LTCG 連結器選項。 根據預設,針對偵錯組態停用此屬性,並針對發行組態啟用。
MSVC 工具組版本
指定用來建置專案之 MSVC 工具組的完整版本。 您可能已安裝各種工具組的更新和預覽版本。 您可以在這裡指定要使用哪一個。
LLVM 工具組版本
指定用來建置專案之 LLVM 工具組的完整版本。 從 Visual Studio 2019 16.9 版開始,當 LLVM (clang-cl) 選取為平臺工具組時,即可使用此屬性。 如需詳細資訊,請參閱 設定自定義 LLVM 工具組版本。
啟用 MSVC 結構化輸出
指定是否要啟用結構化 SARIF 輸出,以在 Visual Studio 的 [輸出] 視窗中啟用 [問題詳細資料] 視窗和階層式輸出。
C++/CLI 屬性
通用語言執行時支援
導致使用編譯 /clr 程序選項。
若要以程式設計方式存取此屬性,請參閱 ManagedExtensions。
目標 .NET Framework 版本
此特性僅在 Common Language Runtime Support 屬性設定為 .NET Framework Runtime 支援時適用。 也就是說,當專案針對 .NET 框架,並指定 .NET 框架的版本時。
.NET 目標 Framework
此特性僅在 Common Language Runtime Support 屬性設定為 .NET Runtime Support 時適用。 也就是說,當專案目標為 .NET。
這個屬性會指定此項目目標的 .NET 5+ 目標 Framework Moniker,例如 net6.0-windows 或 net7.0-windows8.0。
啟用受控累加建置
此特性大幅提升大型解決方案的建置時間,確保若變更未改變其他組件或專案能看到與互動的程式碼部分,相關專案不會被重建。
啟用個別檔案的 CLR 支援
此選項會設定 ManagedAssembly 建置屬性,以 Managed 程式代碼在專案中只建置一些檔案。 如果部分但並非所有項目檔都建置為 Managed 程式代碼,您必須將 [個別檔案啟用 CLR 支援] 設定為 [是]。 此特性僅適用於使用 Visual Studio 2022 或更新版本及 v143 或更新平台工具組的專案。
.NET 目標 Windows 版本
此特性僅在 Common Language Runtime Support 屬性設定為 .NET Runtime Support 時適用。 也就是說,當專案目標為 .NET。
這個屬性會指定專案所支援的最低 Windows 版本。 NuGet 會使用此值來判斷專案和 NuGet 套件相依性的相容性。 如果專案 A 相依於專案 B,專案 A 的 .NET 目標 Windows 版本必須大於或等於專案 B。
Visual Studio 2019 和更新版本中提供 [進階] 屬性頁。 顯示的特定屬性取決於項目類型。 Windows 執行階段 (通用 Windows 平台 或 UWP) 專案不會顯示此頁面。
進階屬性
目標副檔名
指定要用於建置輸出的擴展名。 預設為應用程式 .exe 、 .lib 靜態函式庫和 .dll DLL 預設。
清除時要刪除的副檔名
[ 建>置清除 ] 功能表命令會從建置項目組態的中繼目錄中刪除檔案。 建置系統會在您執行 Clean 命令或重建時,刪除具有指定擴展名的檔案。 建置系統也會刪除任何已知的建置輸出,不管它位於哪裡。 已刪除的檔案包含任何中繼輸出,例如 .obj 檔案。 使用分號 (;) 分隔延伸模組。 您可以在延伸模組中指定通配符 (*, ?) 。
若要以程式設計方式存取此屬性,請參閱 DeleteExtensionsOnClean。
建置記錄檔
可讓您指定每當建置專案時所建立之記錄檔的非預設位置。 預設位置是由巨集 $(IntDir)$(MSBuildProjectName).log所指定。
若要變更目錄位置,您可以使用專案巨集。 如需詳細資訊,請參閱 建置命令和屬性的通用巨集。
慣用的建置工具架構
指定使用 ARM64、x86 或 x64 建置工具。
使用偵錯連結庫
指定是否要建立偵錯或發行組建。 儘管名稱如此, 使用 Debug Libraries 其實是建置系統專屬的屬性,實際上是「建立除錯建置」或「建立發佈建置」的簡稱。它為除錯或發佈建置設定了多個編譯器和連結器的屬性,包括函式庫設定。 您可以使用它來建立新平臺或新範本中的偵錯或發行組態。 我們不建議您在現有的組態中變更此屬性。 請改用個別編譯程式和連結器屬性。
啟用 Unity(JUMBO)建置
啟用更快的建置程式,在編譯之前,將許多C++原始程式檔合併成一或多個檔案。
將內容複製到 OutDir
將專案中標示為 內容 的專案複製到項目的輸出目錄 ($(OutDir))。 此設定可以簡化部署。 此屬性從 Visual Studio 2019 16.7 版開始提供。
將項目參考複製到 OutDir
將可執行檔案 (DLL 和 EXE 檔案) 項目參考項目複製到項目的輸出目錄 ($(OutDir))。 在 C++/CLI (/clr) 專案中,會忽略此屬性。 取而代之的是,每個專案參考的 Copy Local 屬性控制項目是否被複製到輸出目錄。 此設定可以簡化本機部署。 從 Visual Studio 2019 16.7 版開始提供。
將項目參考的符號複製到 OutDir
將專案參考專案的 PDB 檔案以及專案參考可執行檔案專案複製到專案的輸出目錄 ($(OutDir))。 此屬性一律會針對 C++/CLI 項目啟用。 此設定可以簡化偵錯部署。 從 Visual Studio 2019 16.7 版開始提供。
將C++運行時間複製到 OutDir
將 C++ 執行時的 DLL 複製到專案的輸出目錄($(OutDir))。 此設定可以簡化本機部署。 從 Visual Studio 2019 16.7 版開始提供。
MFC 用途
指定 MFC 專案以靜態方式或動態連結至 MFC DLL。 非 MFC 項目選取 [ 使用標準 Windows 連結庫]。
若要以程式設計方式存取此屬性,請參閱 useOfMfc。
字元集
指定是否 _UNICODE 應該設定 或 _MBCS 預處理器巨集。 也會在適當情況下影響連結器進入點。 對於 _UNICODE,期望的程式碼入口點為 wmain 或 wWinMain。 對於 _MBCS,期望的程式碼入口點為 main 或 WinMain。
若要以程式設計方式存取此屬性,請參閱 CharacterSet。
整個程式最佳化
指定 /GL 編譯程式選項和 /LTCG 連結器選項。 根據預設,針對偵錯組態停用此屬性,並針對發行組態啟用。
使用 C++ 動態除錯
規定是否使用 C++ 動態除錯。 使用此模式來除錯優化的程式碼。 如果你啟用這個設定,整個程式優化就會被關閉。 如需詳細資訊,請參閱 C++動態偵錯。
啟用 MSVC 結構化輸出
指定是否要啟用結構化 SARIF 輸出,以在 Visual Studio 的 [輸出] 視窗中啟用 [問題詳細資料] 視窗和階層式輸出。
C++/CLI 屬性
通用語言執行時支援
導致使用編譯 /clr 程序選項。
若要以程式設計方式存取此屬性,請參閱 ManagedExtensions。
目標 .NET Framework 版本
此特性僅在 Common Language Runtime Support 屬性設定為 .NET Framework Runtime 支援時適用。 也就是說,當專案針對 .NET 框架,並指定 .NET 框架的版本時。
.NET 目標 Framework
此特性僅在 Common Language Runtime Support 屬性設定為 .NET Runtime Support 時適用。 也就是說,當專案目標為 .NET。
這個屬性會指定此項目目標的 .NET 5+ 目標 Framework Moniker,例如 net6.0-windows 或 net7.0-windows8.0。
啟用受控累加建置
此特性大幅提升大型解決方案的建置時間,確保若變更未改變其他組件或專案能看到與互動的程式碼部分,相關專案不會被重建。
啟用個別檔案的 CLR 支援
此選項會設定 ManagedAssembly 建置屬性,以 Managed 程式代碼在專案中只建置一些檔案。 如果部分但並非所有項目檔都建置為 Managed 程式代碼,您必須將 [個別檔案啟用 CLR 支援] 設定為 [是]。 此特性僅適用於使用 Visual Studio 2022 或更新版本及 v143 或更新平台工具組的專案。
.NET 目標 Windows 版本
此特性僅適用於將通用語言執行時支援屬性設定為 .NET 執行時支援。 也就是說,當專案目標為 .NET。
這個屬性會指定專案所支援的最低 Windows 版本。 NuGet 會使用此值來判斷專案和 NuGet 套件相依性的相容性。 如果專案 A 相依於專案 B,專案 A 的 .NET 目標 Windows 版本必須大於或等於專案 B。