首页 文章

IIS 7.0/Windows Server 2008 - 在 ASP.NET 应用程序中找不到 DLL

提问于
浏览
3

我尝试通过 IIS 7.0 运行一个在 Windows Server 2008 x86 上托管的 ASPX 页面,其中包含.NET 4.0. 我将一个应用程序app1添加到 IIS 的Default Web Site,映射到包含Web.config文件的 dir C:\toto\app1。我遇到的错误是:

无法加载文件或程序集“xxx.dll”或其中一个依赖项等

xxx.dll是包装本机 C DLL 的.NET DLL(它们是无法加载的依赖项),它们都位于C:\toto\app1\bin中。我试图修改 PATH env 变量,使其包含bin目录(是的,我知道它很糟糕:-)),但这无论如何都不起作用。

我想在 IIS 应用程序级别应该有一些东西,但我看不出...你能帮忙吗?

非常感谢 !

编辑:复制C:\windows\system32中的本机 DLL 实际上是有效的,但它根本不是一个令人愉快的解决方案...

5 回答

  • 0

    如果它不是 GACd(它似乎不是),简单的答案是:

    您需要外部 DLL 位于应用程序的 bin \目录中。

    如果在 VS2010 中将其作为参考,请选择它,转到属性,然后将 CopyLocal 值设置为 True。重建应用程序。这应该导致该 DLL 复制到 bin,您的应用程序可以引用而无需任何其他工作。

  • 0

    好吧,最后设法通过将 DLL 复制到windows\system32目录来工作(不知道为什么它第一次没有 wotk,可能是 mine...)的错误.application\bin文件夹不起作用,PATH变量也没有改变。

    如果有人知道一个更好的解决方案(我根本没有找到这个可以导致 DLL 碰撞等等),我很高兴听到它!

  • 0

    我认为这将完成这项工作。在服务器上执行此操作。在执行此操作之前,请撤消您已完成的所有操作。转到 START-> RUN 并键入cmd然后使用“included”运行以下命令regsvr32 "C:\yourfolder\idrskrn_net14.dll"

    请享用!

  • 0

    我有完全一样的问题。 dll 位于 webapp/bin 目录中,但未加载。我设法将它们放在 inetpub/bin 中并且运行良好。但是,必须存在允许在 webapp bin 目录中加载模块的行为。不知道如何设置这个。

  • 0

    我也有同样的问题。如果我在服务器上本地浏览网站它工作正常,但当我通过域名在互联网上浏览它时,它无法找到站点的 bin 文件夹中的 DLL ...

相关问题