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

4

我们的MVC 4项目在我的电脑上出现了一些问题 :( 最初它突然认为自己是Windows项目,我无法添加视图或控制器。我修复了它,使其再次成为MVC,但是:1)它没有Razor的Intellisense,2)它无法启动,并显示以下错误:

Die Datei oder Assembly "Antlr3.Runtime" oder eine Abhängigkeit davon wurde nicht gefunden. Die gefundene Manifestdefinition der Assembly stimmt nicht mit dem Assemblyverweis überein. (Ausnahme von HRESULT: 0x80131040)

(抱歉,没有完全准确的英语翻译。意思是它尝试加载错误版本的Antlr3.Runtime)。

我尝试了以下方法但没能解决问题:

  • Deleting all files in %TEMP%
  • cleaning and rebuilding the solution
  • uninstalling Antlr3 and dependent libraries (it is required by MVC optimization, which seems to be connected to the Intellisense problem). Updated NuGet manager, then re-installed Antlr and the others.
  • Checked the properties of the Antlr3 reference. It is set to "Specific version -> false" and in Web.config, I have the entry

      <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个回答

1
解决方案是在引用中选择错误的程序集,打开其属性,并将“复制本地”设置为false。为了保险起见,我还手动从其自己的文件夹、Debug和Bin文件夹中删除了.dll文件,并从我的同事的机器上获取了一个副本放入其Antlr文件夹中。之后,该项目在浏览器中开始正确显示。
完成这些操作后,安装Visual Studio 2013工具即可解决Intellisense问题。

1
这对我很有帮助(我感觉非常舒适,因为我不需要更改任何晦涩的设置或删除我真的不懂的文件)
  1. 将packages.config文件中的行<package id="Antlr" version="3.4.1.9004" targetFramework="net45"/>注释掉。
  2. 重新编译和运行->没有出现问题
  3. 再次激活<package id="Antlr" version="3.4.1.9004" targetFramework="net45"/>

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接