您可以建立同時針對 .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或更新版本。 您可以建立個別的解決方案,只開啟舊的專案。