2

在本地 iis7(在 Windows 7 上)上浏览已发布站点时遇到问题。

当使用 F5 (dev iis) 通过 VS2008 浏览 asp.net 站点时,它工作正常。发布和浏览时,我得到:

“/MySite”应用程序中的服务器错误。

指定的模块无法找到。(来自 HRESULT 的异常:0x8007007E)

说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.IO.FileNotFoundException:找不到指定的模块。(来自 HRESULT 的异常:0x8007007E)

堆栈跟踪也没有提供有关有问题的 dll 的任何线索。我将相同的已发布文件夹复制到另一台机器(也使用 windows 7 32bit 和 iis 7)并且它可以工作。

由于这是在我的机器上全新安装的 iis,我在“打开/关闭 Windows 功能”中验证了匹配的选定项目。注意到问题后,我还运行了“aspnet_regiis”实用程序,但问题仍然存在。

该网站包含几个外部 dll(本机和托管),它们都出现在已发布的 bin 文件夹中(与开发 bin 文件夹相同)

有什么见解吗?

干杯,

谢伊

4

4 回答 4

3

从该线程中收集到: http: //social.msdn.microsoft.com/forums/en-US/netfx64bit/thread/f609f52e-00f6-4ada-9d6e-7129b85d3d4d/,如线程底部所述(第二截至目前的最后一篇文章),我们的问题是一个“流氓” dll,Microsoft.SqlServer.Replication.dll。我们只是删除了 dll 并且没有更多错误。此外,由于解决方案中没有项目引用此 dll,我只是将其从 bin 文件中删除,随后的构建/发布不添加 dll。我不知道 dll 一开始是如何进入 bin 文件的。也许是大学的恶作剧。

于 2011-10-21T17:42:02.100 回答
2

本机 dll 应该可以在 PATH 中找到。问题是它们在用户路径而不是系统路径下,所以它通过 VS 工作正常,但不能通过 IIS。我将 dll 文件夹添加到系统 PATH 并且一切正常...

于 2010-02-20T06:53:18.490 回答
0

在大多数情况下是一个长镜头,但请检查您是否拥有良好的 .NET Framework 库。从在 IIS 6 上运行的 VS 2005 维护的旧 Framework 2.0 网站中什么也没得到,除了浏览器窗口中的纯文本说明错误。Fiddler 和 Firebug 什么都没有。开始检查这个,那个和其他的东西。也许当想知道使用 aspnet_iisreg 时,发现 C:\Windows\Microsoft.NET\Framework\v4.0.30319 文件夹只有少数文件。没有多大意义,应用程序是 2.0,但有一些跨应用程序通信和几个库,所以可能有些作为 4.0 运行,或者 IIS 可能会尝试使用 .NET Framework 最高版本中的一些东西可用的。

一位对服务器更了解的同事从此处使用独立安装程序修复了 4.0 框架. 现在运行良好。

于 2017-04-22T03:20:05.027 回答
0

当目标服务器上的 .Net Framework 只有 4.5.2 并且最近升级的 Nuget 包需要 4.7.2 时,我发生了这个错误。为了暂时解决这个问题,我们将 Nuget 库降级到以前不需要 4.7.2 的版本,直到我们可以升级服务器库。

尽管我们的项目属性选择了 .NET Framework 4.5.2 作为目标框架,但情况仍然如此。

于 2020-04-05T20:21:25.820 回答