這很重要
C++/CLI 是 .NET 早期 (2003-2010) 期間設計的技術,基於相容性目的仍受支援。 它最適合現有的程式碼基底,特別是從 .NET Framework 引進至 .NET Core 的程式碼基底,或維護不太可能超越 .NET Framework 的大型舊版系統。
雖然 C++/CLI 可靠且健全,但除了確保持續功能所需的必要內容之外,沒有規劃任何新功能工作。 開發人員應該注意,使用 C++/CLI 會讓 C++ 和 .NET 語言感到悲觀,因為它受到設計時可用的語言功能和 API 的限制,也就是在 ISO C++11 和 .NET Core 之前。 C++/CLI 是以 C++98 為基礎設計,其 ECMA 標準 自 C++11 以來尚未更新以跟上較新的 C++ 標準。 雖然已合併 C++11 中的某些功能,但來自較新標準的許多功能 (例如 C++20 和 C++23) 在 C++/CLI 中沒有直接支援編譯成 Managed 程式碼。 如需詳細資訊,請參閱 C++/CLI 的 C++20 支援。
對於新專案,我們建議探索現代第三方替代方案,例如 https://github.com/dotnet/ClangSharphttps://www.swig.org/或 ,它們提供更大的靈活性,並更好地與目前的語言和執行階段功能保持一致。
C++/CLI 已取代受控C++。 C++/CLI 是Microsoft所建立的語言規格,可擴充C++以支援 .NET。 只有在 Windows 上才支援它。 它不適用於撰寫 WinUI 或通用 Windows 平臺 UWP Windows 執行時間 (WinRT) 應用程式。 它是用來撰寫在 .NET 上執行的 .NET 應用程式和元件。 C++/CLI 是原生C++程序代碼與 Managed 程式代碼之間的橋樑。 它可讓您在 .NET 應用程式中使用現有的C++連結庫,並在 C++ 中撰寫新的 .NET 應用程式。
Microsoft提供撰寫 WinUI 和 WinRT 應用程式的C++/WinRT。 它是 Windows 執行階段 (WinRT) API 的完全標準現代 C++17 語言投影。 如需結合 Windows 執行階段使用 C++ 的詳細資訊,請參閱 C++/WinRT。
根據預設,使用 Visual Studio 2015 所建立的 CLR 專案會以 .NET Framework 4.5.2 為目標。 當您建立新專案時,您可以將目標設為 .NET Framework 4.6。 在 [ 新增專案 ] 對話框中,變更對話框頂端下拉式清單中的目標架構。 若要變更現有專案的目標架構,請關閉專案、編輯項目檔 (.vcxproj),並將目標 Framework 版本的值變更為 4.6。 下次開啟專案時,變更就會生效。
在 Visual Studio 2017 中,預設目標 .NET Framework 為 4.6.1。 架構版本選取器位於 [新增專案] 對話框底部。
在 Visual Studio 2017 中安裝C++/CLI 支援
當您安裝 Visual Studio C++ 工作負載時,預設不會安裝C++/CLI 本身。 若要在安裝 Visual Studio 之後安裝元件,請選取 [Windows 開始] 功能表並搜尋 Visual Studio 安裝程式,以開啟 Visual Studio 安裝程式。 選擇已安裝 Visual Studio 版本旁的 [ 修改] 按鈕。 選取 [ 個別元件 ] 索引卷標。向下捲動至 [編譯程式]、[建置工具和運行時間] 區 段,然後選取 [C++/CLI 支援]。 選取 [修改] 以下載必要的檔案並更新 Visual Studio。
在 Visual Studio 2019 中,.NET Core 專案的預設目標 Framework 是 5.0。 針對 .NET Frameworks 專案,預設值為 4.7.2。 .NET Framework 版本選取器位於 [建立新專案] 對話方塊的 [設定新專案] 頁面上。
在 Visual Studio 2019 中安裝C++/CLI 支援
當您安裝 Visual Studio C++ 工作負載時,預設不會安裝C++/CLI 本身。 若要在安裝 Visual Studio 之後安裝元件,請選取 [Windows 開始] 功能表並搜尋 Visual Studio 安裝程式,以開啟 Visual Studio 安裝程式。 選擇已安裝 Visual Studio 版本旁的 [ 修改] 按鈕。 選取 [個別元件] 索引卷標。向下捲動至 [編譯程式]、[建置工具和運行時間] 區段,然後選取 v142 建置工具的C++/CLI 支援(最新版)。 選取 [修改] 以下載必要的檔案並更新 Visual Studio。
在 Visual Studio 2022 中,.NET Core 專案的預設目標 Framework 為 6.0。 針對 .NET Frameworks 專案,預設值為 4.7.2。 .NET Framework 版本選取器位於 [建立新專案] 對話方塊的 [設定新專案] 頁面上。
在 Visual Studio 2022 中安裝C++/CLI 支援
當您安裝 Visual Studio C++ 工作負載時,預設不會安裝C++/CLI 本身。 若要在安裝 Visual Studio 之後安裝元件,請選取 [Windows 開始] 功能表並搜尋 Visual Studio 安裝程式,以開啟 Visual Studio 安裝程式。 選擇已安裝 Visual Studio 版本旁的 [ 修改] 按鈕。 選取 [個別元件] 索引卷標。向下捲動至 [編譯程式]、[建置工具和運行時間] 區段,然後選取 v143 建置工具的 C++/CLI 支援(最新版)。 選取 [修改] 以下載必要的檔案並更新 Visual Studio。
本節內容
C++/CLI 工作
原生和 .NET 互操作性
純與可驗證的程式代碼 (C++/CLI)
正規表示式 (C++/CLI)
檔案處理和 I/O (C++/CLI)
圖像作業 (C++/CLI)
Windows 作業 (C++/CLI)
使用 ADO.NET 的資料存取 (C++/CLI)
與其他 .NET 語言的互操作性(C++/CLI)
序列化 (C++/CLI)
受控類型 (C++/CLI)
反映 (C++/CLI)
強名稱元件 (元件簽署) (C++/CLI)
偵錯類別 (C++/CLI)
STL/CLR 連結庫參考
C++支持連結庫
C++/CLI 中的例外狀況
拳擊(C++/CLI)