共用方式為


建立 NuGet 的新平臺特定連結庫專案

以iOS和Android等特定平臺為目標的多平台連結庫專案最適合使用共享專案。

NuGet 可以同時包含 iOS 和 Android 特定的程式代碼,以及兩者通用的 .NET 程式代碼。

多個元件會建立並內建於單一 NuGet 套件中。 NuGet 標準可確保套件可以新增至所有支援的項目類型,例如 Xamarin.iOS 和 Android 專案。

建立跨平台連結庫 NuGet 的步驟

  1. 選取 [ 檔案 > 新方案] (或以滑鼠右鍵按兩下現有的方案 ,然後選擇 [ 新增 > 專案]。

  2. [多平台連結庫] 區段選擇 [多平台>連結庫]:

    Configure multi-platform library for a single code base

  3. 輸入 [ 名稱 ] 和 [描述],然後選擇 [ 平臺特定]:

    Configure platform-specific library for iOS and Android

  4. 完成精靈。 下列專案會新增至方案:

    • Android 專案 – 可選擇性地將 Android 特定程式代碼新增至此專案。
    • iOS 專案 – 可以選擇性地將 iOS 特定程式代碼新增至此專案。
    • NuGet 專案 – 未將任何程式代碼新增至此專案。 它會參考其他專案,並包含 NuGet 套件輸出的元數據組態。
    • 共享專案 – 一般程式代碼應該新增至此專案,包括編譯程式指示詞內的 #if 平臺特定程序代碼。
  5. 以滑鼠右鍵按下 NuGet 專案並選擇 [ 選項],然後開啟 [NuGet 套件 > 元數據 ] 區段並輸入 必要的元數據 (以及任何選擇性元數據):

    Enter required metadata

  6. 此外,在 [ 項目選項 ] 視窗中,開啟 [ 參考元件 ] 區段,然後選擇共用連結庫可透過「誘餌和切換」支援的 PCL 配置檔:

    Also in the Project Options window, open the Reference Assemblies section and choose which PCL profiles the shared library will support via bait and switch

    注意

    “Bait and switch” 表示 PCL 元件只會包含連結庫所公開的 API(它不能包含平臺特定的程式代碼)。 將 NuGet 新增至 Xamarin 專案時,將會針對 PCL 編譯共用連結庫,但平臺特定元件包含 iOS 或 Android 專案實際使用的程式代碼。

  7. 以滑鼠右鍵按兩下項目,然後選擇 [建立 NuGet 套件 ] (或建置或部署方案), 而 .nupkg NuGet 套件檔案將會儲存在 /bin/ 資料夾中(根據組態而定偵錯或發行)。

    NuGet package file will be saved in the bin folder either Debug or Release, depending on configuration

驗證輸出

NuGet 套件也是 ZIP 檔案,因此可以檢查所產生套件的內部結構。

此螢幕快照顯示支援 iOS 和 Android 的平臺特定 NuGet 內容,並已選取兩個參考元件:

Files contained in the NuGet package