Share via


進階屬性頁

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 建置工具。

使用偵錯程式庫

指定是否要建立偵錯或發行組建。 儘管有名稱, 但使用偵錯程式庫 是組建系統特定的屬性,其實際上是「建立偵錯組建」或「建立發行組建」的縮寫。 它會設定偵錯或發行組建的數個編譯器和連結器屬性,包括程式庫設定。 您可以使用它來建立新平臺或新範本中的偵錯或發行組態。 我們不建議您在現有的組態中變更此屬性。 請改用個別編譯器和連結器屬性。

啟用 Unity (JUMBO) 組建

啟用更快的建置程式,在編譯之前,將許多 C++ 原始程式檔合併成一或多個檔案。 這些合併的檔案稱為 unity 檔案。 它們與 Unity 遊戲引擎無關。

將內容複寫到 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

將執行時間 DLL 複製到專案的輸出目錄 ( $(OutDir) )。 此設定可以簡化本機部署。 從 Visual Studio 2019 16.7 版開始提供。

MFC 用途

指定 MFC 專案以靜態方式或動態連結至 MFC DLL。 非 MFC 專案選取 [ 使用標準 Windows 程式庫 ]。

若要以程式設計方式存取此屬性,請參閱 useOfMfc

字元集

指定是否 _UNICODE 應該設定 或 _MBCS 預處理器宏。 也會在適當情況下影響連結器進入點。

若要以程式設計方式存取此屬性,請參閱 CharacterSet

整個程式最佳化

指定 /GL 編譯器選項和 /LTCG 連結器選項。 根據預設,針對偵錯組態停用此屬性,並針對發行組態啟用。

MSVC 工具組版本

指定用來建置專案之 MSVC 工具組的完整版本。 您可能已安裝各種工具組的更新和預覽版本。 您可以在這裡指定要使用哪一個。

LLVM 工具組版本

指定用來建置專案之 LLVM 工具組的完整版本。 從 Visual Studio 2019 16.9 版開始,當 LLVM (clang-cl) 選取為平臺工具組時 ,即可使用此屬性。 如需詳細資訊,請參閱 設定自訂 LLVM 工具組版本

啟用 MSVC 結構化輸出

指定是否要啟用結構化 SARIF 輸出,以在 Visual Studio 的 [輸出 ] 視窗中 啟用 [問題詳細 資料] 視窗 和階層式輸出。

C++/CLI 屬性

Common Language Runtime 支援

導致使用編譯 /clr 程式選項。

若要以程式設計方式存取此屬性,請參閱 ManagedExtensions

目標 .NET Framework 版本

只有當 Common Language Runtime 支援屬性設定為 .NET Framework 執行時間支援 時,才適用 此屬性,也就是專案以 .NET Framework 為目標 ,並指定 .NET Framework 的版本。

.NET 目標 Framework

只有當 Common Language Runtime 支援屬性設定為 .NET 執行時間支援 ,才適用此屬性,也就是專案目標 為 .NET

這個屬性會指定此專案目標的 .NET 5+ 目標 Framework Moniker,例如 net6.0-windowsnet7.0-windows8.0

啟用受控累加建置

針對 Managed 專案,此選項可讓您在產生元件時偵測外部可見度。 如果其他專案看不到受控專案的變更,則不會重建相依專案。 受控累加組建可以大幅改善包含受控專案之解決方案的建置時間。

啟用個別檔案的 CLR 支援

此選項會設定 ManagedAssembly 建置屬性,以 Managed 程式碼在專案中只建置一些檔案。 如果部分但並非所有專案檔都建置為 Managed 程式碼,您必須將 [個別檔案 啟用 CLR 支援] 設定 為 [是 ]。 此屬性僅適用于在 Visual Studio 2022 和更新版本中使用 v143 或更新版本工具組的專案。

.NET 目標 Windows 版本

只有當 Common Language Runtime 支援屬性設定為 .NET 執行時間支援 ,才適用此屬性,也就是專案目標 為 .NET

這個屬性會指定專案所支援的最低 Windows 版本。 NuGet 會使用此值來判斷專案和 NuGet 套件相依性的相容性。 如果專案 A 相依于專案 B,專案 A 的 .NET 目標 Windows 版本必須大於或等於專案 B。