我有MEF和RavenBD一个asp.net MVC 4项目。
当项目加载它引发此异常:无法加载文件或程序Antlr3.Runtime.dll
我发现,无论RavenDB和WebGrease(与MVC 4安装)使用Antlr3。 但是WebGrease带有自己Antlr3的dll,由微软签署 - 公钥31bf3856ad364e35
Antlr3默认公钥是eb42632606e9261f。
RavenDB和WebGrease使用Antlr3 3.3.1.7705同一版本
我怎样才能解决这个问题呢?
不幸的是我没有找到一个解决方案相冲突的同一版本的依赖与不同的签名。
但好消息是,WebGrease,霍华德Dierking的贡献者之一,已经回答了我的担心通过电子邮件。 下面是他的回答:
嗨马克西姆 - 对不起,你碰到了这一点。 我正在做几件事情要快速解决问题:
1)准备一个更新ANTLR包与最新版本的ANTLR - 将测试并推向nuget.org
2)与WebGrease团队合作,以改变他们的NuGet包,以便它不出货的antlr.dll而是需要一个包的依赖 - 在与他们交谈,他们不知道一个包存在。
这应该解决您跑进DLL地狱问题。 希望这将不会超过几个星期与节假日更多。
谢谢,
_howard
我有同样的问题,从我的计算机中删除所有的项目,从服务器获取最新版本并加载该项目后重建所有的NuGet依赖解决它。 你可以试试这个,它为我工作。
这似乎有些依赖的NuGet留下一些垃圾被卸载后,身后那就是做一个干净的重建对于所有的解决方案的唯一途径