无法加载Antlr3.Runtime,HRESULT:0x80131040

时间:2014-05-15 09:50:33

标签: asp.net-mvc razor assemblies

我的MVC 4项目上的东西,在我的计算机上,似乎非常破碎:(它从项目开始突然认为它是一个Windows项目,我可以添加没有视图或控制器。我修复它到它是MVC的点再次,但1)它没有Razor的Intellisense,2)它没有启动,显示此错误:

  

Die Datei oder Assembly“Antlr3.Runtime”odereineAbhängigkeitdavonwurde nicht gefunden。 Die gefundene Manifestdefinition der Assembly stimmt nicht mit demAssemblyverweisüberein。 (Ausnahme von HRESULT:0x80131040)

(对不起,没有找到完全准确的英文翻译。这意味着它正在尝试加载Antlr3.Runtime的错误版本)。

我尝试过但没有工作:

  • 删除%TEMP%
  • 中的所有文件
  • 清理并重建解决方案
  • 卸载Antlr3和依赖库(MVC优化需要它,它似乎与Intellisense问题有关)。更新了NuGet管理器,然后重新安装了Antlr和其他人。
  • 检查Antlr3引用的属性。它设置为“Specific version - > false”,在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" />
    

奇怪的是那个

  • 当我创建一个新的MVC项目时,它可以正常工作
  • 该项目适用于我同事的电脑。

由于第二点,我完全放弃了我的旧工作区,创建了一个新的工作区,并从TFS中获得了新的项目。我也在.csproj文件上做了一个差异。这是在我尝试上述解决方案之前。它仍然没有帮助。

我能从这里做些什么吗?

3 个答案:

答案 0 :(得分:1)

解决方案是在参考文献中选择错误的程序集,打开其属性,并将“复制本地”设置为false。为了更好地衡量,我还手动删除了自己的文件夹和Debug和Bin文件夹中的.dll,并从我的同事的机器上获取了一份副本到Antlr文件夹中。之后,项目开始在浏览器中正确显示。

一旦涵盖了这一点,安装Visual Studio 2013工具就可以解决Intellisense问题。

答案 1 :(得分:1)

这对我有帮助(我觉得它很舒服,因为我不需要改变任何模糊的设置或删除我真的不知道的文件)

  1. 从文件packages.config注释掉行<package id="Antlr" version="3.4.1.9004" targetFramework="net45"/>
  2. 重新编译并运行 - &gt;没有问题出现
  3. 再次激活<package id="Antlr" version="3.4.1.9004" targetFramework="net45"/>行。

答案 2 :(得分:0)

如果以上都不能解决您的问题,请在此处查看我的答案:Could not load file or assembly 'Antlr3.Runtime' or one of its dependencies