可以在Xamarin.Android或Xamarin.iOS项目中使用"PackageReference"吗?

Bru*_*res 9 .net xamarin.ios xamarin.android xamarin xamarin.forms

默认情况下,Xamarin.iOS和Xamarin.Android项目使用package.config文件来管理Nuget依赖项.有关项目文件中的包引用(PackageReference)的Microsoft页面说:

默认情况下,PackageReference用于.NET Core项目,.NET Standard项目和面向Windows 10 Build 15063(创建者更新)及更高版本的UWP项目..NET完整框架项目支持PackageReference,但目前默认为packages.config.要使用PackageReference,请将packages.config中的依赖项迁移到项目文件中,然后删除packages.config.

我认为在Xamarin.Android或Xamarin.iOS项目中使用PackageReference样式并不清楚.

我的问题:是否可以在Xamarin.iOS和Xamarin.Android项目中使用PackageReference?

Sus*_*ver 26

是的,PackageReference适用于Xamarin.iOS | Android的项目,并在Visual Studio中的Windows或Mac或通过CMD线(的NuGet恢复或通过的MSBuild).

将以下内容添加到您Xamarin.iOS和/或Xamarin.Android .csproj文件的顶部:

  <PropertyGroup>
    <RestoreProjectStyle>PackageReference</RestoreProjectStyle>
  </PropertyGroup>
Run Code Online (Sandbox Code Playgroud)

我目前的步骤是:

  • 复制您packages.config的备份
    • 在最后一步重新添加包时,请将其用作参考
  • 手动删除项目中的所有包(Xamarin.iOSXamarin.Android)
  • 编辑csproj并添加 PackageReference
  • 重新添加顶级

注意:我通过IDE逐个删除手册包,以便正确更新项目引用.此外,当在PackageReference附加后重新添加它们时,csproj会正确更新(您可以在csproj文本中手动执行此操作,但这很麻烦,很容易搞砸).

  • 2021 年末,VS for Mac 仍无法迁移软件包:-( (4认同)
  • 如果您右键单击项目中的“References”,看起来我们现在有一个功能“将packages.config 迁移到PackageReference”。在“VSfW2017 15.9.4 Preview 1.0”中为我工作,并进行了一些手部清理 (3认同)