【问题标题】:Xamarin iOS Nuget conflict error when archiving in Release mode在发布模式下存档时 Xamarin iOS Nuget 冲突错误
【发布时间】:2018-05-27 20:07:28
【问题描述】:
我一直在我的 iOS 应用程序中使用 NETFramework,Version=v4.6.1 包,并且我能够将它们存档。但现在我在存档时收到警告:
使用“.NETFramework,Version=v4.6.1”而不是项目目标框架“.NETStandard,Version=v2.0”恢复了包“Naxam.TopTabbedPage.Forms 0.0.3.3”。此软件包可能与您的项目不完全兼容。
我怎样才能摆脱这个错误?我知道它将完全兼容,但此警告会停止归档过程。暂时找不到解决办法
【问题讨论】:
标签:
.net
xamarin
xamarin.ios
nuget
.net-standard
【解决方案1】:
实际上我有一个编译错误,在我点击构建而不是存档后显示。这似乎是 Mac 上的 Visual Studio 错误...
【解决方案2】:
该警告来自 NuGet,而不是来自 Visual Studio for Mac。
要重现关于程序集不完全兼容的警告,可以将 Naxam.TopTabbedPage.Forms 0.0.3.3 NuGet 包安装到 .NET Standard 2.0 项目中。
该 NuGet 包中没有 .NET Standard 库,只有一个 Xamarin.iOS 程序集和一个可移植类库 (PCL) 程序集。因此,NuGet 表示它将项目视为与 .NET 4.6.1 兼容并使用 PCL 程序集,因为没有可用的 .NET Standard 程序集。
要忽略此警告,您可以将其添加到忽略警告列表中。您可以在首选项中或通过编辑 .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 不会抑制警告,因此您必须将其添加到主属性组。