繁体   English   中英

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

[英]IIS 7.0 / Windows Server 2008 - DLL not found in ASP.NET application

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

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

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

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

非常感谢 !

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

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

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

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

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

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

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

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

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

请享用!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM