2011-01-28 75 views
3

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

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

xxx.dll是.NET DLL,它包装机C++的DLL(它们是未能加载的依赖项),它们全部位于C:\toto\app1\bin。我试图修改PATH env变量,以便它包含bin目录(是的,我知道它很糟糕:-)),但是这并不起作用。

我想在IIS应用程序级别应该有些东西,但是我看不到......请问您能帮忙吗?

非常感谢!

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

+0

哪个路径你有你的DLL解决方案参考? – 2011-01-28 14:51:05

+0

你的意思是参考路径(外部DLL位于VS 2010项目的Reference伪文件夹中)?如果是这样,那就是'.. \ .. \ .. \ LIB \ IRIS'。我试图创建相同的相对路径并在里面添加外部库(考虑到应用程序的根目录是Web.config所在的目录),但那也不起作用。 – Emmanuel 2011-01-28 15:03:58

回答

0

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

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

0

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

您需要将外部DLL放在应用程序的bin \目录中。

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

+0

啊,我觉得我不够精确:我的VS2010 DLL和外部的都在`bin`目录下。 – Emmanuel 2011-01-28 15:18:31

+0

如果你启动VS w /调试,应用程序是否工作? – 2011-01-28 15:19:48

0

我认为这会做好这项工作。 在服务器上执行此操作。 在执行此操作之前撤消所有已完成的操作。 进入开始 - >运行,键入cmd然后运行以下命令regsvr32 "C:\yourfolder\idrskrn_net14.dll"与“收录。

享受!

0

我有完全一样的问题。该DLL是在webapp/bin目录中,但不是活得t加载,我设法把它们放在inetpub/bin中,并且它运行的很好,但是必须有一个允许在webapp bin目录下加载模块的行为,不知道如何设置这个。

0

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

相关问题