如何解决Antlr3依赖地狱

W3M*_*Max 17 bundle antlr3 asp.net-mvc-4 bundling-and-minification asp.net-optimization

我有一个带有MEF和RavenBD的asp.net MVC 4项目.

当项目加载时,它会抛出此异常:无法加载文件或程序集Antlr3.Runtime.dll

我发现RavenDB和WebGrease(与MVC 4一起安装)都使用Antlr3.但WebGrease附带了自己的Antlr3 dll,由微软签署 - PublicKeyToken 31bf3856ad364e35

Antlr3默认的PublicKeyToken是eb42632606e9261f.

RavenDB和WebGrease使用相同版本的Antlr3 3.3.1.7705

我该如何解决这个问题?

W3M*_*Max 6

不幸的是,我没有找到相同版本与不同签名的冲突依赖关系的解决方案.

但好消息是,WebGrease的贡献者之一Howard Dierking通过电子邮件回答了我的担忧.这是他的回答:

嗨Maxime - 抱歉你碰到了这个.我正在努力做一些事情来快速解决问题:

1)使用最新的antlr版本准备对antlr软件包的更新 - 将测试并推送到nuget.org

2)与WebGrease团队合作更改他们的NuGet包,使其不发送antlr.dll,而是采用包依赖 - 在与他们交谈时,他们不知道包存在.

这应该解决你遇到的dll地狱问题.希望假期不会超过几周.

谢谢,

_howard