2016-11-24 106 views
1

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

无法加载文件或程序集'RestSharp,Version = 100.0.0.0,Culture = neutral,PublicKeyToken = **********'或其某个依赖项。定位的程序集清单定义与程序集引用不匹配。 (异常来自HRESULT:0x80131040)

当我去引用的属性,我看到它引用文件在正确的文件夹和正确的版本(路径),但在引用版本中它指出100.0.0.0。我不能改变这一点,我已经尝试通过.csproj然后它只是显示0.0.0.0作为一个版本,并没有找到所有的参考,在packages.config其设置正确..

我也尝试直接在软件包目录中引用dll,从nuget中删除它,但也没有运气。它再次显示为版本100.0.0.0。这是一个问题与DLL还是我的问题?

此外,在对象浏览它示出了它作为2个版本(具有plivo安装和一个与茉莉..)但没有引用了该差值(Restsharp VS restsharpsigned)

enter image description here

+0

你有没有发现任何灵魂? – ocanal

+0

我的问题是由于我从项目1调用项目2的事实。项目1也有RestSharp包,但是是不同的版本。当调试进入项目2时,它注意到它已经加载了包,但它是错误的版本。它没有进一步加载真正需要的软件包。通过查看调试中的模块窗口,我发现了这一点。 – Lonefish

回答

1

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

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

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

+0

你是否解决了你的问题?如果没有,请分享一个关于您的问题的示例项目,以帮助我们重现您的问题。 –

+0

我有这个问题。我认为你只尝试创建一个新项目并安装Mollie和plivo软件包。是的,它可以很好地解决任何问题。 OP和我得到的错误是运行时错误。 – ocanal