Dot-Net

是否可以在 Xamarin.Android 或 Xamarin.iOS 項目中使用“PackageReference”?

  • March 13, 2018

預設情況下,Xamarin.iOS 和 Xamarin.Android 項目使用package.config文件來管理 Nuget 依賴項。有關項目文件中的包引用 (PackageReference)的 Microsoft 頁面說:

預設情況下,PackageReference 用於面向 Windows 10 Build 15063(Creators Update)及更高版本的 .NET Core 項目、.NET Standard 項目和 UWP 項目。.NET 完整框架項目支持 PackageReference,但目前預設為 packages.config。要使用 PackageReference,請將 packages.config 中的依賴項遷移到項目文件中,然後刪除 packages.config。

我認為這對於在 Xamarin.Android 或 Xamarin.iOS 項目中使用 PackageReference 樣式並不清楚。

我的問題:是否可以在 Xamarin.iOS 和 Xamarin.Android 項目中使用 PackageReference?

是的,PackageReference適用於 Xamarin.iOS|Android 項目和適用於 Windows 或 Mac 的 Visual Studio 或通過 cmd 行(nuget restore 或通過 msbuild)。

將以下內容添加到您的Xamarin.iOS和/或Xamarin.Android .csproj文件的頂部:

 <PropertyGroup>
   <RestoreProjectStyle>PackageReference</RestoreProjectStyle>
 </PropertyGroup>

我目前的步驟是:

  • 複製你的packages.config作為備份

    • 在最後一步重新添加包時將其用作參考
  • 從項目中手動刪除所有包(Xamarin.iOSXamarin.Android

  • 編輯 csproj 並添加PackageReference

  • 僅重新添加頂級

注意:為了正確更新項目引用,我通過 IDE 逐一刪除了手動包。此外,在附加 PackageReference 之後重新添加它們時,csproj 會正確更新(您可以在 csproj 文本中手動執行此操作,但這很痛苦且容易搞砸)。

引用自:https://stackoverflow.com/questions/49266384