1

我有一个需要使用非托管 DLL 文件的 Web 应用程序。

我正在尝试使用在这个相关问题上建议的解决方案。

我遇到的问题是非托管 DLL 试图在我的 global.asax 文件的 Application_Start 之前加载,该文件将我的路径设置为包含非托管 DLL 文件的位置,因此应用程序立即崩溃。

我真的很想在我的代码中保留设置 PATH 的行为,以便我的解决方案可以部署到新服务器,而无需在发布我的解决方案之外具有本地访问权限来设置 PATH。

有什么方法可以强制我的 Application_Start 代码在加载其他 DLL 文件之前执行?

4

1 回答 1

1

不要从 ASP.NET 应用程序中更改 PATH 环境变量。这可能会导致 Web 服务器以奇怪的方式出现故障。

开发人员在 ASP.NET 应用程序中使用非托管库的普遍接受方式是将非托管 .dll 放入 bin 下的子文件夹中,然后调用 LoadLibrary,将完整路径传递给模块。

于 2014-03-12T16:21:04.260 回答