gpt4 book ai didi

c# - 移至 .NET 4.5。获取 ""无法加载文件或程序集 _____ 或其依赖项之一。”错误

转载 作者:太空宇宙 更新时间:2023-11-03 13:17:35 25 4
gpt4 key购买 nike

我刚刚将 VS 2008 中的一个 3.5 项目转换为 Framework 4.5。该网站引用了两个项目(我们称之为业务和报告)。

一切都适用于 VS 2012 中的开发网络服务器。但是当我在本地 IIS* 上设置它时,我得到了

“无法加载文件或程序集‘Reports’或其依赖项之一。尝试加载格式不正确的程序。:

我在 bin 目录中看到了 Reports 的 dll。我使用了构建到 x86 的平台并返回到 AnyCPU,但它仍然无法正常工作。

(我确实将应用程序池的 .NET Framework 版本设置为 4.0。)

编辑:谁能帮我解读下面的信息?我看到 HKEY_LOCAL_MACHINE\Software\Microsoft\Fusion。但什么是“Fusion!EnableLog”?我没有看到类似的东西。

警告:程序集绑定(bind)日志记录已关闭。要启用程序集绑定(bind)失败日志记录,请将注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) 设置为 1。注意:程序集绑定(bind)失败日志记录会带来一些性能损失。要关闭此功能,请删除注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog]。

最佳答案

所讨论的 DLL 可能仅适用于 32 位 (x86) 版本。

重新构建您的程序,以 x86 构建为目标。

然后在 IIS 中,右键单击为您的应用程序提供服务的应用程序池,然后单击“高级设置”。从这里,将“启用 32 位应用程序”的值设置为“True”,然后回收应用程序池并重新启动您的网站,如果您仍然遇到错误,请告诉我。

如果您不知道您的网站使用的是哪个应用程序池,请在“站点”下单击您的网站,然后在“操作” Pane 中选择“基本设置”选项。从这里您可以看到哪个应用程序池正在为您的应用程序提供服务,如果需要,您可以更改应用程序池。应用程序池通过 IIS 中“连接” Pane 中的“应用程序池”选项进行管理。

我认为如果您是从 64 位机器构建的,那么选择“任何 CPU”可能会导致构建 64 位,因此如果引用的 DLL 是针对 x86 构建的,那么这可能就是您的原因收到错误消息。

关于c# - 移至 .NET 4.5。获取 ""无法加载文件或程序集 _____ 或其依赖项之一。”错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25523061/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com