首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何解决Antlr3依赖地狱

如何解决Antlr3依赖地狱
EN

Stack Overflow用户
提问于 2012-11-09 04:37:17
回答 3查看 12.8K关注 0票数 18

我有一个与MEF和RavenBD的asp.net mvc4项目。

加载项目时会引发此异常:无法加载文件或程序集Antlr3.Runtime.dll

我发现RavenDB和WebGrease (与MVC4一起安装)都使用Antlr3。但WebGrease自带了自己的Antlr3 dll,由Microsoft签名- PublicKeyToken 31bf3856ad364e35

Antlr3默认PublicKeyToken为eb42632606e9261f。

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

如何解决此问题?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-11-16 07:30:41

不幸的是,我没有找到一个解决方案来解决不同签名的相同版本的冲突依赖。

但好消息是,WebGrease的一位贡献者霍华德·迪尔金已经通过电子邮件回答了我的问题。以下是他的回应:

Hi Maxime -很抱歉你遇到了这个问题。我正在努力做一些事情来快速解决这个问题:

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

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

这应该可以解决你遇到的dll地狱问题。希望这不会超过几个星期的假期。

谢谢,

_howard

票数 7
EN

Stack Overflow用户

发布于 2014-04-22 18:26:41

我也遇到了同样的问题,通过从我的计算机上删除所有项目,从服务器获取最新版本,并在项目加载后重新构建所有nuget依赖项来解决它。你可以试试这个,它对我很有效。

似乎一些nuget依赖项在卸载后会留下一些垃圾,这是为所有解决方案进行干净重建的唯一方法

票数 1
EN

Stack Overflow用户

发布于 2021-09-28 18:11:15

我试过其他答案了。我还尝试了恢复、升级、降级、重新安装WebGrease和Antlr包的许多组合。在运行时,我仍然使用LoaderExceptions抛出ReflectionTypeLoadException,它显示了已被替换的旧Antlr的版本号(3.4.1.9004)。

我还尝试了以下方法,我花了几天时间进行测试,但都没有解决问题:

清除引用上的temporary files.

  • Reloading Visual Studio和Solution.

  • Rebooting my

  • computer.

  • Removing“
  • ”标志。

最终起作用的是在web.config文件中添加绑定重定向。由于NuGet也没有更新旧版本的WebGrease,因此我将它们都替换为:

代码语言:javascript
复制
</runtime>
    </assemblyBinding>
        <dependentAssembly>
            <assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-1.6.5135.21930" newVersion="1.6.5135.21930" />
        </dependentAssembly>
        <dependentAssembly>
            <assemblyIdentity name="Antlr3.Runtime" publicKeyToken="eb42632606e9261f" culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-3.5.0.2" newVersion="3.5.0.2" />
        </dependentAssembly>
    </assemblyBinding>
</runtime>

在重新编译和部署我的应用程序之后,它就摆脱了这些抱怨。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13297402

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档