組織專案以同時支援 .NET Framework 及 .NET
您可以建立同時針對 .NET Framework 與 .NET 編譯的解決方案。 此文章涵蓋數個專案組織選項,可協助您達成此目標。 以下是當您決定如何使用 .NET 設定專案配置時要考量的一些典型案例。 此清單可能未涵蓋您想要的所有內容。
-
優點:
- 透過編譯單一專案而非多個專案 (每個都以不同的 .NET Framework 版本或平台為目標) 來簡化建置流程。
- 由於您必須管理單一專案檔,因此,請簡化多目標專案的來源檔案管理。 新增或移除來源檔案時,替代方案需要您手動同步處理這些檔案與您的其他專案。
- 輕鬆產生 NuGet 套件以供取用。
- 讓您能夠使用編譯器指示詞來撰寫特定 .NET Framework 版本的程式碼。
缺點:
- 要求開發人員使用 Visual Studio 2019 或更新版本來開啟現有專案。 若要支援舊版的 Visual Studio,將專案檔放在不同的資料夾是較好的選擇。
將所有專案分開 (部分機器翻譯)
優點:
- 針對可能沒有 Visual Studio 2019 或更新版本的開發人員與參與者,支援對現有專案進行開發。
- 降低在現有專案中產生新錯誤 (Bug) 的可能性,因為那些專案中不需要任何程式碼變換。
請考慮這個範例 GitHub 存放庫 (英文)。 下圖顯示此存放庫的配置方式:
下列各節描述根據範例存放庫新增對 .NET 支援的數種方式。
使用多目標 .NET 專案取代現有專案
重新組織存放庫,以移除任何現有的 *.csproj 檔案,並建立以多個架構為目標的單一 *.csproj 檔案。 這是個不錯的選擇,因為單一專案能夠針對不同的架構進行編譯。 它也可以處理個別目標架構的不同編譯選項及相依性。
如需範例程式碼,請參閱 GitHub (英文)。
要注意的變更如下︰
- 以新的 .NET *.csproj 取代 packages.config 和 *.csproj。 NuGet 套件是使用
<PackageReference> ItemGroup
所指定。
保留現有專案並建立 .NET 專案
如果現有專案會以較舊的架構為目標,您可以讓這些專案保持不變,並使用 .NET 專案以未來架構為目標。
如需範例程式碼,請參閱 GitHub (英文)。
.NET 與現有專案會保存於不同資料夾中。 將專案保存於個別資料夾中,可避免強迫您使用 Visual Studio 2019 或更新版本。 您可以建立不同的解決方案只開啟舊的專案。
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應