共用方式為


組織您的項目以支援 .NET Framework 和 .NET

您可以建立同時針對 .NET Framework 和 .NET 編譯的解決方案。 本文涵蓋數個項目組織選項,可協助您達成此目標。 以下是決定如何使用 .NET 設定專案配置時所要考慮的一些典型案例。 此清單可能不會涵蓋您想要的一切。

  • 將現有專案和 .NET 項目合併成單一專案

    優點

    • 藉由編譯單一專案而不是以不同的 .NET Framework 版本或平臺為目標的多個專案,簡化建置程式。
    • 簡化多目標專案的來源檔案管理,因為您必須管理單一項目檔。 新增或移除來源檔案時,替代專案會要求您手動同步處理這些檔案與其他專案。
    • 輕鬆產生 NuGet 套件以供取用。
    • 可讓您使用編譯程式指示詞撰寫特定 .NET Framework 版本的程序代碼。

    缺點

  • 將所有專案分開

    優點

    • 針對可能沒有 Visual Studio 2019 或更新版本的開發人員和參與者,支援現有項目的開發。
    • 降低在現有專案中建立新 Bug 的可能性,因為這些專案不需要程式代碼變換。

請考慮 此範例 GitHub 存放庫。 下圖顯示此存放庫的設定方式:

現有的項目結構圖

下列各節說明根據範例存放庫新增 .NET 支援的數種方式。

以多目標 .NET 專案取代現有專案

重新組織存放庫,以便移除任何現有的 *.csproj 檔案,並建立以多個架構為目標的單一 *.csproj 檔案。 這是一個很好的選項,因為單一專案可以針對不同的架構進行編譯。 它也有權處理每個目標架構的不同編譯選項和相依性。

以多個架構圖表為目標的專案

如需範例程式代碼,請參閱 GitHub

注意的變更如下:

  • 以新的 .NET *.csproj 取代 packages.config*.csproj。 NuGet 套件是使用 <PackageReference> ItemGroup來指定。

保留現有的專案並建立 .NET 專案

如果有以舊版架構為目標的現有專案,您可能會想要讓這些專案保持不變,並使用 .NET 專案以未來的架構為目標。

在不同資料夾圖表中具有現有專案的 .NET 專案

如需範例程式代碼,請參閱 GitHub

.NET 和現有專案會保留在不同的資料夾中。 將專案保留在不同的資料夾中,可避免強制您擁有Visual Studio 2019或更新版本。 您可以建立個別的解決方案,只開啟舊的專案。

另請參閱