在多個平台上共用程序代碼

這些文章說明跨平臺共用程序代碼的不同選項,包括 Windows、Android、iOS 等等。

程式代碼共用概觀

瞭解 Xamarin 專案可用的不同程式代碼共享選項,包括 .NET Standard 連結庫和共享專案。 也支援可攜式類別庫,不過,它們被視為已過時,有利於 .NET Standard。

.NET Standard

.NET Standard 是跨平臺共用程式碼的慣用選項。 程式代碼是針對特定版本建置的(2.0 提供與現有 .NET Framework 程式代碼的最佳 API 兼容性),然後可由支援該層級或更高層級的其他專案取用。 Visual Studio 2019 和 Visual Studio 2019 for Mac 都支援 .NET Standard 專案。

共用的專案

共用專案可讓您撰寫許多不同應用程式專案所參考的常見程序代碼。 程式代碼會編譯為每個參考專案的一部分,並可包含編譯程式指示詞,以協助將平臺特定功能納入共用程式碼基底。 本文討論共用項目的運作方式,以及如何建立和使用 Xamarin 專案。

可攜式類別庫

可攜式類別庫專案可讓您建置並散發包含共用程式代碼的元件,以在多個平台上執行。 若要建立可攜式類別庫(或 “PCL”),您必須先選取要設定目標的平臺,然後針對針對這些平臺定義的配置檔中提供的 .NET Framework 子集撰寫程式代碼。 PCL 在最新版本的 Visual Studio 中被視為已被取代;建議開發人員改用 .NET Standard 2.0。

NuGet 專案:用於程式代碼共用的多平台連結庫

NuGet 套件可以從 PCL 或 .NET 標準項目自動產生;和 共用專案可以使用個別的 NuGet 專案類型封裝成「誘餌和切換」NuGet 套件。 本節說明如何為每個程式代碼共用案例建立 NuGet 套件。

手動建立 Xamarin 的 NuGet 套件

提示 用於建立搭配 Xamarin 平臺使用的 NuGet 套件。

在跨平臺 Xamarin 專案中使用 C/C++ 連結庫

這項技術可讓您分離 C/C++ 連結庫的演進、NuGet 中的 C# 系結,以及您的 Xamarin 應用程式。 功能是由原生平臺 C/C++ 連結庫提供,但所有平臺特定程式代碼都會與最終的 Xamarin 應用程式隔離,以允許最高的效能,且不會重複程序代碼。