在发布模式下归档时,Xamarin iOS Nuget冲突错误

时间:2018-05-26 17:34:07

标签: .net xamarin xamarin.ios nuget .net-standard

我一直在我的iOS应用程序中使用NETFramework,Version = v4.6.1包,我能够存档它们。但现在我在归档时收到警告:

使用'.NETFramework,Version = v4.6.1'而不是项目目标框架'.NETStandard,Version = v2.0'恢复了包'Naxam.TopTabbedPage.Forms 0.0.3.3'。此软件包可能与您的项目不完全兼容。

如何摆脱这个错误?我知道它将完全兼容,但此警告会停止归档过程。到目前为止找不到任何解决方案

2 个答案:

答案 0 :(得分:1)

该警告来自NuGet,而不是来自Visual Studio for Mac。

要重现关于程序集不完全兼容的警告,可以将Naxam.TopTabbedPage.Forms 0.0.3.3 NuGet包安装到.NET Standard 2.0项目中。

NuGet包中没有.NET标准库,只有Xamarin.iOS程序集和可移植类库(PCL)程序集。因此,NuGet表示,它将项目视为与.NET 4.6.1兼容并使用PCL程序集,因为没有可用的.NET标准程序集。

要忽略此警告,您可以将其添加到忽略警告列表中。您可以在首选项中或通过编辑.csproj文件来执行此操作:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
    <NoWarn>NU1701</NoWarn>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Naxam.TopTabbedPage.Forms" Version="0.0.3.3" />
  </ItemGroup>
</Project>

Visual Studio for Mac中唯一的问题似乎是将NoWarn添加到PackageReference不会抑制警告,因此您必须将其添加到主属性组。

答案 1 :(得分:0)

实际上我有一个编译错误,在我点击构建而不是存档后我被指示。它似乎是Mac上的Visual Studio错误......