建立 NuGet 的新平臺特定連結庫專案
以iOS和Android等特定平臺為目標的多平台連結庫專案最適合使用共享專案。
NuGet 可以同時包含 iOS 和 Android 特定的程式代碼,以及兩者通用的 .NET 程式代碼。
多個元件會建立並內建於單一 NuGet 套件中。 NuGet 標準可確保套件可以新增至所有支援的項目類型,例如 Xamarin.iOS 和 Android 專案。
建立跨平台連結庫 NuGet 的步驟
選取 [ 檔案 > 新方案] (或以滑鼠右鍵按兩下現有的方案 ,然後選擇 [ 新增 > 專案]。
從 [多平台連結庫] 區段選擇 [多平台>連結庫]:
輸入 [ 名稱 ] 和 [描述],然後選擇 [ 平臺特定]:
完成精靈。 下列專案會新增至方案:
- Android 專案 – 可選擇性地將 Android 特定程式代碼新增至此專案。
- iOS 專案 – 可以選擇性地將 iOS 特定程式代碼新增至此專案。
- NuGet 專案 – 未將任何程式代碼新增至此專案。 它會參考其他專案,並包含 NuGet 套件輸出的元數據組態。
- 共享專案 – 一般程式代碼應該新增至此專案,包括編譯程式指示詞內的
#if
平臺特定程序代碼。
以滑鼠右鍵按下 NuGet 專案並選擇 [ 選項],然後開啟 [NuGet 套件 > 元數據 ] 區段並輸入 必要的元數據 (以及任何選擇性元數據):
此外,在 [ 項目選項 ] 視窗中,開啟 [ 參考元件 ] 區段,然後選擇共用連結庫可透過「誘餌和切換」支援的 PCL 配置檔:
注意
“Bait and switch” 表示 PCL 元件只會包含連結庫所公開的 API(它不能包含平臺特定的程式代碼)。 將 NuGet 新增至 Xamarin 專案時,將會針對 PCL 編譯共用連結庫,但平臺特定元件包含 iOS 或 Android 專案實際使用的程式代碼。
以滑鼠右鍵按兩下項目,然後選擇 [建立 NuGet 套件 ] (或建置或部署方案), 而 .nupkg NuGet 套件檔案將會儲存在 /bin/ 資料夾中(根據組態而定偵錯或發行)。
驗證輸出
NuGet 套件也是 ZIP 檔案,因此可以檢查所產生套件的內部結構。
此螢幕快照顯示支援 iOS 和 Android 的平臺特定 NuGet 內容,並已選取兩個參考元件: