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

时间:2018-03-13 21:48:06

标签: .net xamarin xamarin.forms xamarin.ios xamarin.android

默认情况下,Xamarin.iOS和Xamarin.Android项目使用package.config文件来管理Nuget依赖项。关于Package references (PackageReference) in project files的Microsoft页面说:

  

默认情况下,PackageReference用于.NET Core项目.NET   标准项目和面向Windows 10 Build 15063的UWP项目   (创作者更新)及以后。 .NET完整框架项目支持   PackageReference,但目前默认为packages.config。使用   PackageReference,将来自packages.config的依赖项迁移到   你的项目文件,然后删除packages.config。

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

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

1 个答案:

答案 0 :(得分:21)

是的,PackageReference适用于Xamarin.iOS | Android项目以及适用于Windows或Mac的Visual Studio或通过cmd-line(nuget restore或通过msbuild)。

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

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

我目前的步骤是:

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

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