C#-IIS don';t从PATH变量加载程序集

本文关键字:PATH 变量 加载 程序集 don C#-IIS | 更新日期: 2023-09-27 18:27:23

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

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

有人有主意吗?

C#-IIS don';t从PATH变量加载程序集

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

如果是这样的话:对我有效的是:转到你的目录,属性,安全,编辑,添加,选择所有对象类型,我选择了最高的位置,IIS_IUSRS,并给他你想要的权限。

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

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