gpt4 book ai didi

xamarin - MvvmCross.Core/平台 5.7。 0' was restored using ' .NETFramework,版本=v4.6。 1' instead of the project target framework ' .NETStandard,版本=v2.0'

转载 作者:行者123 更新时间:2023-12-04 22:55:22 34 4
gpt4 key购买 nike

我正在使用最新版本 MvvmCross 创建 Android 和 iOS 应用程序。现在,由于不推荐使用可移植类库,我使用 .NET Standard 库版本 2.0。
我在 MvvmCross 的 NuGet 包中有这个警告......虽然项目编译但我不确定我是否需要像最后一行说的那样担心它

This package may not be fully compatible with your project.


下面是确切的警告

warning NU1701: Package 'MvvmCross.Core 5.7.0' was restored using'.NETFramework,Version=v4.6.1' instead of the project target framework'.NETStandard,Version=v2.0'. This package may not be fully compatiblewith your project.

MvvmCross.Platform 5.7.0 的类似警告
[ NuGet package warnings

最佳答案

J.Dhaik已经提到 MvvmCross 5.7.0 版尚未更新以支持 .NET Standard。下一个主要版本 6.0.0 将添加对 .NET Standard 2.0 的支持。

但是,可以在 .NET Standard 类库中使用 6.0.0 之前的 MvvmCross 版本。

那么为什么会出现警告呢?

您可以查看我对此的解释Stack Overflow为什么会看到警告的问题。摘录如下

With .NET Standard 2.0 and the updated tooling in .NET Core SDK 2+ the .NET team wanted to make it easier to update or make use of .NET Standard libraries. The issue is that not all NuGet packages have been updated to support a version of .NET Standard. So they introduced a fallback targeting .NET Framework 4.6.1 which is nearly 100% compliant with .NET Standard (There are some API that are in the .NET Standard 2.0 spec that are not in .NET Framework 4.6.1 but they can be brought in via NuGet packages if required). So the warning you see is to inform you that the packages do not conform to a .NET Standard version you are targeting and as such may contain API's that are not executable in your runtimes making use of your .NET Standard 2.0 library.



如何抑制警告

NuGet 提供了两个选项, 每包项目级 .

每包

您可以编辑您的 csproj 并添加 NoWarn="NU1701"标记到您的包引用或选择您的 NuGet 包引用的属性(解决方案资源管理器 > 依赖项 > NuGet > {包名称} 右键单击​​属性)并添加 NU1701NoWarn属性(property)。

VS 2017 - properties

结果将类似于您的 csproj 中的以下内容
<ItemGroup>
<PackageReference Include="MvvmCross" Version="5.7.0" NoWarn="NU1701" />
<PackageReference Include="MvvmCross.Core" Version="5.7.0" NoWarn="NU1701" />
<PackageReference Include="MvvmCross.Binding" Version="5.7.0" NoWarn="NU1701" />
<PackageReference Include="MvvmCross.Platform" Version="5.7.0" NoWarn="NU1701" />
<PackageReference Include="MvvmCross.CodeAnalysis" Version="5.7.0" NoWarn="NU1701" />
</ItemGroup>

备注 , 使用 per package 方法依赖包警告不会通过抑制父包来抑制。因此,您需要将包作为依赖项引入以抑制警告。

项目级别

NuGet 还为您提供了取消所有 NU1701 的选项项目级别的警告。您可以通过手动编辑 csproj 来执行此操作,如下所示
<PropertyGroup>
<NoWarn>NU1701</NoWarn>
</PropertyGroup>

或者通过 GUI 您可以修改 Suppress warnings包括 NU1701
VS 2019

关于xamarin - MvvmCross.Core/平台 5.7。 0' was restored using ' .NETFramework,版本=v4.6。 1' instead of the project target framework ' .NETStandard,版本=v2.0',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49688230/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com