问题标签 [fileloadexception]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4999 浏览

dll - dll 未加载 - FileLoadException

我遇到的问题是尝试在测试盒和 Windows xp 机器上加载 RWLock.dll 时收到 System.IO.FileLoadException。

这是尝试在 windows 2003 服务器机器(很可能是 32 位)上加载 dll 时引发的异常:

System.IO.FileLoadException:无法加载由 'rwlock,Version=1.0.3889.27926,Culture=neutral,PublicKeyToken=null' 导入的过程。

文件名:'rwlock, Version=1.0.3889.27926, Culture=neutral, PublicKeyToken=null' ---> System.Runtime.InteropServices.COMException (0x8007007F): 找不到指定的过程。(来自 HRESULT 的异常:0x8007007F)...

但是,我们尝试在 Windows 2007* 服务器计算机(64 位)上运行它并没有遇到任何问题。

有任何想法吗?提前致谢 :)

*Windows 2008(哎呀)

0 投票
2 回答
6457 浏览

.net - 找到的程序集的清单定义与程序集引用不匹配

我收到以下错误:

System.IO.FileLoadException:找到的程序集的清单定义与程序集引用不匹配。(来自 HRESULT 的异常:0x80131040)

它没有给我任何关于它抱怨哪个文件的提示。我怎样才能找到它抱怨的程序集?

(是的,在 SO 上还有其他关于同一例外的问题,但他们没有回答我的问题)

0 投票
0 回答
1151 浏览

c# - 加载引用时出现 FileLoadException

我正在使用 Spring.Net 动态加载我的对象图。

10 个 .exe 控制台将同时启动,它们将通过 Spring.Net 实例化相同的库。控制台没有对库的引用。当 Spring.Net(使用反射)创建实例时,10 次中有 1 次出现异常。我不确定为什么会发生这种情况,但可能与同时启动的 10 个控制台有关。服务器重新启动时似乎经常发生(Windows Server 2008 R2)

任何想法表示赞赏!

这是一个堆栈跟踪,它无法加载对 odp.net 的引用(引用自 GAC)

System.IO.FileLoadException:无法加载文件或程序集“Oracle.DataAccess,Version=2.112.1.0,Culture=neutral,PublicKeyToken=89b483f429c47342”或其依赖项之一。该进程无法访问该文件,因为它正被另一个进程使用。(来自 HRESULT 的异常:0x80070020)

0 投票
1 回答
531 浏览

.net - 尝试在运行时通过 AssemblyQualifiedName 获取类型时的奇怪行为

尝试使用NetDataContractSerializer反序列化类型时收到 FileLoadException :

给定的程序集名称或代码库无效。(来自 HRESULT 的异常:0x80131047)

此错误与序列化程序无关;尝试在运行时通过其程序集限定名称加载类型会导致相同的失败。

我已将一个侦听器附加到AssemblyResolve 事件以查看发生了什么:

通过处理程序进行调试可以看到名义上的“奇怪行为”。虽然tryGet从不null(在这种情况下,所需的程序集总是加载到 AppDomain 中),但如果留给它自己 ,操作总是会失败。换句话说,调用Type.GetType(e.Name).Assembly会导致 FileLoadException 被抛出。 编辑:我将程序集的强名称与类型的程序集限定名称混为一谈;请忽略那个错误。具有讽刺意味的是,它并没有引发不同的错误,所以在问这个问题之前我没有发现这一点。

另一点信息: Assembly.Load(e.Name)总是返回有效的程序集。我不确定为什么这有效,而反序列化期间在幕后使用的方法失败了。

Fusion Log 报告加载程序正在尝试加载正确的程序集,但由于在可执行文件的私有路径中未找到该程序集,因此它失败了。

为什么在 AppDomain 中已加载程序集时尝试加载程序集?


有关融合记录的更多详细信息...

我已经在方法调用之前和期间捕获了所有导致引发异常的程序集加载。以下是相关日志,按创建顺序排列:

  • 部分绑定失败
    • 尝试仅按名称加载程序集
    • 只探测了应用程序库
  • 通过 LoadFrom SUCCEEDED 进行部分绑定
    • where-ref 绑定。位置指向文件被引用的位置
    • 我相信 VS 在解决方案中加载引用时使用 LoadFrom
  • 强名称绑定失败
    • 未知是什么触发了此加载尝试
    • 只探测了应用程序库

AFAICT,Visual Studio 将程序集加载到解决方案的 AppDomain 中(我希望 Fusion Log 捕获尝试加载的 AppDomain;毕竟它记录了调用程序集)。

在此之后,我进行了反序列化调用。结果是 Fusion 中的单个日志:

绑定结果:hr = 0x80070002。该系统找不到指定的文件。

同样,Fusion 正在尝试通过其强名称从可执行文件的应用程序库中加载。一件好事;它尝试从 GAC 加载,因此一旦部署,我可能不会遇到同样的问题。但我仍然不知道为什么程序集不能位于 appdomain 中。


更多有趣的东西......

这引发了对反序列化的调用:

其中 ToXml 和 FromXml 都使用 NetDataContractSerializer 和 Write/ReadObject。程序集在执行早期从包的安装目录加载,但 NDCS 出于某种原因不想使用在 AppDomain 中找到的程序集。该测试表明它不会是版本控制的问题。

0 投票
5 回答
4584 浏览

c# - 用新的 .net dll 更新应用程序会给我 FileLoadException?

我有一个带有许多 dll 的 .net 3.5 应用程序,我尝试在不构建整个应用程序的情况下重建特定的 dll,但是在用新的替换旧的后,应用程序抛出异常,因为它无法加载新的 dll 异常:System.IO .FileLoadException: 无法加载文件或程序集....我知道它会搜索具有特定版本和公共令牌的程序集,如何在不重新构建应用程序的情况下解决此问题?该应用程序也已签名但未在 GAC 中注册。PS:我怎样才能跳过再次构建应用程序,或者它是重新构建dll时必须的?

0 投票
3 回答
5386 浏览

c# - 在另一台计算机上运行 C# 程序时出现 System.IO.FileLoadException

我目前正在开发一个 C# WPF 项目,该项目使用 MySQL.Data 和 System.Data.Sqlite dll 以及其他几个。

该项目是一个 .Net 4 项目,在我的开发机器上运行没有问题。我创建了一个 MSI 安装程序包,当我添加可执行文件时,Visual Studio 会计算出依赖项并使用 EXE 添加所需的 DLL。

当我在我的开发机器上运行安装程序时,一切正常。但是,当我将安装程序复制到安装了 .Net Framework 3.5 和 .Net Framework 4 的空白虚拟机时,安装程​​序说一切都已成功安装,当我查看程序文件夹时,所有 DLL 也都在那里,但是当我尝试运行该软件未加载的软件,并且事件查看器中显示 .Net 运行时错误。

错误如下

应用程序:MySQLBackup.exe 框架版本:v4.0.30319 描述:进程因未处理的异常而终止。异常信息:System.IO.FileLoadException 堆栈:在 MySQLBackup.App.Application_Startup(System.Object, System.Windows.StartupEventArgs) 在 System.Windows.Application.OnStartup(System.Windows.StartupEventArgs) 在 System.Windows.Application。< .ctor>b__1(System.Object) 在 System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32) 在 MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(System.Object, System.Delegate, System .Object, Int32, System.Delegate) 在 System.Windows.Threading.DispatcherOperation.InvokeImpl() 在 System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(System.Object) 在 System.Threading.ExecutionContext。

错误消息并不能真正帮助我找出问题所在,因此在应用程序启动事件中,我添加了 try catch 语句,但从未捕获到异常。我还添加了 try catch aroundInitialiseComponent()方法,该方法在应加载的第一个对话窗口上执行,但再次捕获从未捕获,因此我看不到导致错误的原因。

我怎样才能弄清楚这个问题是什么并解决它?

0 投票
2 回答
1535 浏览

.net - 程序集版本号、签名程序集 为什么我会收到 FileLoadExceptions

我的问题:

我有一个签名的程序集 A.dll,它的版本为 1.0.0.0 我有另一个引用 A.dll 的程序集(比如说 B.dll)。

一旦两个程序集都加载正常,没有任何问题。现在如果 A.dll 的版本更改为 1.0.0.1 并重新编译 B.dll 是否必须重新编译?

我问是因为我有这种确切的情况,在 A.dll 的版本更改后,我现在收到以下尝试加载 B.dll 的异常:

这让我觉得这个问题的答案总是肯定的。但是,我有另一个示例,其中我有两个具有上述确切场景的程序集,并且加载程序集没有任何问题。

什么情况/条件导致此异常?如果有人可以对此提供一些见解,将不胜感激。谢谢。

0 投票
1 回答
1069 浏览

c# - 使用 Microsoft Unity 配置时的 FileLoadException

使用 Unity 时的 FileLoadException 通常意味着已配置的类型无法加载,因为项目尚未引用程序集。

如何找出尝试解析的类型,以便可以将引用添加到项目中(或删除在 app.config 中配置的未使用类型)。

0 投票
1 回答
313 浏览

asp.net-mvc-3 - 项目参考 dll --> FileLoadException

我在 .Net 中的项目引用有问题 我有三个项目: Console Application MVC 3 Web Application Class library (Mails)

控制台和 Web 应用程序都引用了 Mails 项目。邮件项目引用 RazorEngine.dll。

现在,当我运行控制台应用程序时一切正常,它使用邮件没有错误。当我运行 Web 应用程序并尝试使用邮件时,它会抛出 FileLoadException。

我不知道为什么会发生这种情况,因为这两个应用程序都使用 Mails 项目中的同一段代码。

RazorEngine.dll 在我的网络应用程序的 bin 文件夹中,所以我不知道为什么找不到它。

请帮忙!!!我需要在工作中解决这个问题:S

0 投票
1 回答
901 浏览

azman - Microsoft.Interop.Security.AzRoles.AzAuthorizationStoreClass.Initialize 失败并出现 System.IO.FileLoadException

我们的 ASP.NET Web 应用程序使用授权管理器。在这个Web应用程序的一个页面上,授权存储是服务器上的一个本地XML文件,被多次访问以进行访问检查。我们的一些客户System.IO.FileLoadException在访问此页面时会得到一个。这是间歇性的。

堆栈跟踪:

System.Web.HttpUnhandledException:引发了“System.Web.HttpUnhandledException”类型的异常。---> System.IO.FileLoadException:该进程无法访问该文件,因为它正在被另一个进程使用。(来自 HRESULT 的异常:0x80070020)在 Microsoft.Interop.Security.AzRoles.AzAuthorizationStoreClass.Initialize(Int32 lFlags,String bstrPolicyURL,Object varReserved)

进程监视器显示共享违规。我一直在寻找解决方案,但找不到。客户端位于 Windows Server 2003 SP2 上。所以这个修补程序http://support.microsoft.com/kb/919754似乎并不适用,因为它是 Windows Server 2003 SP2 的一部分。

访问授权存储的代码如下:

任何人都知道我该如何解决这个问题?