微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 为什么我收到有关版本和文化中相同的程序集引用的警告

我在Mac上使用Xamarin并构建了一系列.netstandard1.3库.其中一个引用了一些外部包:

> NETStandard.Library
> Newtonsoft.Json
> System.Linq.Queryable
> System.Reactive
> System.Security.Principal

当我构建项目(库)时,它会构建但有以下警告:

/Library/Frameworks/Mono.framework/Versions/4.8.1/lib/mono/xbuild/14.0/bin/Microsoft.CSharp.targets (CoreCompile target) ->

CSC: warning CS1702: Assuming assembly reference
System.Runtime.Serialization.Primitives,Version=4.1.1.0,
Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a' matches assembly
System.Runtime.Serialization.Primitives,PublicKeyToken=b03f5f7f11d50a3a’.
You may need to supply runtime policy

我不是在任何地方直接引用这个特定的库,但即使我是版本和公钥令牌似乎是相同的,为什么投诉?我如何摆脱这个警告,为什么我得到它?

解决方法

尽管具有相同的程序集标识,但System.Runtime.Serialization.Primitives.dll有不同的实现,可能是因为运行时特定的行为/实现. MSBuild不确定使用哪个.您可以将库定位到多个运行时,或将其作为NuGet包分发,从而将选择目标运行时的职责转移到使用包的库或应用程序.您可以下载该软件包,将其更改为.zip并在内部达到峰值以查看我的意思.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐