无法加载文件或程序集Antlr3.Runtime.dll

时间:2011-08-12 23:09:28

标签: asp.net nhibernate teamcity

我们使用TeamCity作为构建服务器,.Net Framework 4和ASP.NET MVC2以及NHibernate 最近由于Amazon EC2问题,我们的构建服务器最近脱机了。我们正在设置一个新的构建服务器。

但是,即使我们的代码库中最近没有任何变化,Teamcity也会出现以下错误。

ResGen error RG0000: Could not load referenced assembly "C:\TeamCity\buildAgent\work\1e7706dcd512f467\xxx\Lib\Antlr3.Runtime.dll".  Caught a FileLoadException saying "Could not load file or assembly 'C:\TeamCity\buildAgent\work\1e7706dcd512f467\xxx\Lib\Antlr3.Runtime.dll' or one of its dependencies. Provider DLL failed to initialize correctly. (Exception from HRESULT: 0x8009001D)".

给定DLL文件以及其他所需的DLL。任何解决方案?

7 个答案:

答案 0 :(得分:6)

有时,在特定构建代理中的特定构建范围内,事情开始出错。我之前遇到过这样的问题,但在我的情况下,MSBuild拥有一个DLL上的锁,因此TeamCity无法覆盖它。

基本上是这样的:

  • 尝试强制清理
  • 尝试删除构建工作文件夹"C:\TeamCity\buildAgent\work\1e7706dcd512f467",以便在下一次构建时,TeamCity将被强制获取所有文件

答案 1 :(得分:2)

我在Microsoft支持网站here上找到了对错误代码 0x8009001D 的引用。

  

如果您修改了MountedDevices注册表值,则会出现此问题   更改启动驱动器号分配或系统驱动器号   分配

     

错误代码0x8009001d

的解决方法      

要解决此问题,您必须删除MountedDevices注册表项的全部内容。此密钥位于以下注册表子项中:   HKEY_LOCAL_MACHINE \ SYSTEM \加载设备   有关更多信息,请单击下面的文章编号,以查看Microsoft知识库中相应的文章:   223188如何在Windows 2000中更改系统/启动盘符   您无法在Windows XP中修改MountedDevices注册表项,因为有许多到C:\ Windows驱动器的硬编码路径。这些硬编码路径可能无法加载。然后,该行为会引发与WPA相关的错误代码。

我自己从未遇到过这种情况,但希望这会有所帮助。

答案 2 :(得分: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"/>行。
  4. 这就是所有人!

答案 3 :(得分:0)

我今天遇到了同样的问题。在IIS应用程序池设置中 - &gt;提前设置,我将“启用32位应用程序”设置更改为true

答案 4 :(得分:0)

当packages.config文件中列出的程序集与项目中引用的程序集不同步时,也会发生这种情况。如果是这种情况,那么只需从packages.config中删除项目未引用的软件包,然后重建项目或解决方案。

答案 5 :(得分:0)

包裹家伙...包。无论你有什么DLL问题,你有一些DLL,它有时也有助于更新它们。原因:您可能只是运行了一些Windows更新或(Windows自己动手),这使您的新修补程序与项目中的旧DLL不兼容。第1步进入工具&gt; Nuget包管理器&gt;管理解决方案的Nuget包&gt;更新&gt;全部更新(通常是最佳选择:-))。哦等等....如果您遇到此错误:Nuget.exe Install — Microsoft.CSharp already has a dependency for System.Dynamic.Runtime然后首先更新您的NUGET包管理器(步骤2):工具&gt;扩展程序和更新&gt;更新&gt; Visual Studio Gallery&gt;点击NuGet&gt;旁边的更新重启VS.重新运行步骤1.祝你好运! (VS Studio 2013)

答案 6 :(得分:-1)

在visual studio ---&gt;工具----&gt;

在包管理器控制台类型

PM&gt; install-package antlr并按Enter键