Restsharp参考中的版本问题

时间:2016-11-24 10:51:53

标签: c# .net visual-studio nuget restsharp

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

无法加载文件或程序集'RestSharp,Version = 100.0.0.0,Culture = neutral,PublicKeyToken = **********'或其中一个依赖项。定位的程序集的清单定义与程序集引用不匹配。 (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

1 个答案:

答案 0 :(得分:1)

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

我已经测试过在我的项目中安装了Mollie和Plivo软件包,一切正常。所以问题应该与你的解决方案有关。

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