C# - IIS不从PATH变量加载程序集

时间:2014-10-22 12:58:01

标签: c# .net iis dll

我创建了Web应用程序,在AppStart中我通过autofac加载了一些dll。 这些是c ++ dll。 我将dll添加到文件夹,然后我将文件夹的路径添加到PATH变量(环境变量) 当我从我的vs运行应用程序时 - 它工作得很好但是当我将它部署到IIS时,应用程序找不到dll。

我将应用程序池“加载用户配置文件”设置为true。

有没有人有想法?

2 个答案:

答案 0 :(得分:0)

运行应用程序时可以查看控制台吗?可能会给你更多的信息。我在部署到iis时遇到了这个问题(不是使用dll而是其他文件),可能是文件/目录没有授予对iis的访问权限。

如果是这种情况:对我有用的是:转到你的目录,属性,安全性,编辑,添加, 选择所有对象类型,我选择了最高位置以确定,IIS_IUSRS并给他你想要的权利。

答案 1 :(得分:0)

如果仅为您的帐户设置了PATH环境变量,则可能需要更改IIS运行该应用程序池的帐户。

检查应用程序池中“高级设置”下的“身份”设置。如果它设置为ApplicationPoolIdentity(默认值),请尝试将其切换到您的帐户,看看是否能解决问题。如果它有效,您需要更新系统的PATH或在默认情况下以不同的用户运行应用程序池。