无法加载文件或程序集"Antlr3.Runtime(1)"或其依赖项之一

Mav*_*ven 80 .net asp.net-mvc

我在尝试运行我的MVC4项目时收到此错误,它在上次在我的其他计算机上工作正常,但是当我尝试从另一台计算机运行它时它给了我这个错误:

无法加载文件或程序集"Antlr3.Runtime(1)"或其依赖项之一.定位的程序集的清单定义与程序集引用不匹配.(HRESULT异常:0x80131040)

这里阅读了这篇文章后,我试图这样:

安装包Antlr3.Runtime -Pre

但它没有帮助,任何想法?

AH.*_*AH. 95

在尝试使用免费的Nlog日志记录平台时遇到了同样的问题.

这对我有所帮助:

在文件资源管理器中输入%TEMP%并删除所有临时文件.

之后我在Visual Studio中启动MVC5项目时没有收到错误.

  • 谢谢你.像这样的微软垃圾有时让你想要通过Visual Studio的胆量...... (7认同)

sac*_*rni 39

尝试通过执行以下操作之一删除ASP.Net的临时文件:

  • 在文件资源管理器中输入%TEMP%并删除所有临时文件.
  • 转到文件夹"C:\ Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files"并删除所有文件.

  • 谢谢.对我来说,选项2有所帮助 (7认同)

小智 30

不要忘记清除中的临时ASP.NET文件Framework64.这对我有用.

  • C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files
  • C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files


fhi*_*ton 25

以防这有助于某人.
我有一个MVC 5应用程序的这个问题.从bin目录中删除Antlr3.Runtime.dll并重新构建修复了该问题.


Yee*_*234 17

我的问题是最新版本的WebGrease安装了Antlr的3.4.1.9004版本.一旦我安装了WebGrease然后将Antlr更新到3.5.0.2版本,错误就消失了.

  • 我的问题正是这个问题.我不得不通过卸载Microsoft.AspNet.Web.Optimization,WebGrease和Antlr(按此顺序)解除包管理器控制台中的依赖关系链,然后安装包Microsoft.AspNet.Web.Optimization,update-package WebGrease并最终更新-package Antlr(按此顺序)获取最新版本并更正Antlr版本问题. (10认同)

小智 10

如果任何解决方案解决您的问题,请验证web.config,即程序集的版本

<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>
Run Code Online (Sandbox Code Playgroud)


liv*_*ove 9

对我来说,删除web.config文件中的此节点摆脱了错误消息:

<identity impersonate="true" userName="" password="">
Run Code Online (Sandbox Code Playgroud)

但对我来说真正有用的是授予对C:\ Windows\Microsoft.NET\Framework {version}(或Framework64)中的Temporary ASP.NET Files"文件夹"的完全访问权限(对于impersonate中指定的userName).

身份也可能存储在IIS中的"网站应用程序池设置"中.

确保您的nuget包已正确安装,并且版本正确.如果没有其他工作,那么只需尝试从本地文件夹重新添加引用并将其设置为Copy Local.


小智 7

一种简单的方法是更新antlr和webgrease

  1. 转到包控制台管理器
  2. 然后尝试逐个应用这些代码
  3. PM> Update-Package Antlr
  4. PM>更新包WebGrease

最后解决了错误