c# - Restsharp 引用中的版本问题

标签 c# .net visual-studio nuget restsharp

我遇到了一个很奇怪的问题。在一个解决方案中,2 个项目实现了 RestSharp(Mollie 和 Plivo 的依赖项)。但是两者都使用不同的 nuget 包。一个使用签名版本,另一个使用普通版本。一个正常的工作,没有问题。使用签名的那个行为很奇怪。我收到以下错误:

无法加载文件或程序集“RestSharp,Version=100.0.0.0,Culture=neutral,PublicKeyToken=************”或其依赖项之一。找到的程序集的 list 定义与程序集引用不匹配。 (HRESULT 异常:0x80131040)

当我转到引用的属性时,我看到它在正确的文件夹和正确的版本(路径)中引用文件,但在引用的版本中它指出 100.0.0.0。我无法更改它,我已经尝试通过 .csproj 然后它只显示 0.0.0.0 作为一个版本并且根本没有找到引用,在 packages.config 中它设置正确..

我也试过直接引用 packages 目录中的 dll,从 nuget 中删除它,但也没有成功。它再次显示为版本 100.0.0.0。这是 dll 的问题还是我的问题?

同样在对象浏览器中,它显示为 2 个版本(一个安装了 plivo,一个安装了 mollie..)但是不再有差异的引用(Restsharp vs restsharpsigned)

enter image description here

最佳答案

RestSharpSigned 版本显示为 100.0.0,因为 RestSharp.dll 使用 Strong Name将其命名为 100.0.0。你可以用 NuGet Package Explorer 打开它检查程序集信息。 enter image description here

而且我已经在我的项目中安装了 Mollie 和 Plivo 包,一切正常。所以问题应该与您的解决方案有关。

请创建一个没有任何自定义代码的新解决方案,并在新项目中安装 Plivo 包。构建成功后,请将您原来的项目文件复制到新项目中,这可以帮助您确认是哪个文件导致了这个问题。

关于c# - Restsharp 引用中的版本问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40784498/

相关文章:

c# - 如何在C#中合并两个XmlDocuments

c# - 具有C#或同等功能的Arduino音频频谱

c# - 无法将类型 'Newtonsoft.Json.Linq.JProperty' 转换为 'Newtonsoft.Json.Linq.JObject'

c# - 如何将 XML 集合反序列化为 .NET 中的字典?

c++ - Boost库文件生成

c++ - 找不到调试信息或与 Visual Studio 的不匹配

c# - System.Diagnostics.Debug 类是否有 TextWriter 接口(interface)?

c# - 为什么存储局部变量并读回它会触发 TargetInvocationException?

.net - Angular JS 将带有 $resource 的数组数据发送到 .NET API

c# - 手动创建 VisualStudio 2012 项目文件