WebService未从PATH环境变量加载dll

本文关键字:加载 dll 环境变量 PATH 未从 WebService | 更新日期: 2023-09-27 18:25:56

我希望其他人也遇到过这个问题,因为它让我抓狂。我有一个Web服务,它需要使用我在PATH环境变量中指定的文件夹中的DLL(通过DLLImport)。当我在开发服务器中运行该服务时,它不会出现问题,如果我在控制台应用程序中运行该方法,它也不会出现问题。当我将服务发布到我的IIS并尝试我得到的方法时:

无法加载DLL"WORKFLOW.DLL":找不到指定的模块。

我甚至创建了一个WebMethod来返回指定的环境变量进行测试:

[WebMethod]
public String GetEnv(String variable)
{
    return Environment.GetEnvironmentVariable(variable);
}

即使从IIS运行,它也会返回我所需要的内容,但仍然不会加载DLL。我一直在到处找,似乎找不到有这个问题的人。

如有任何帮助,我们将不胜感激。

WebService未从PATH环境变量加载dll

这是一个安全问题。它不允许你像那样加载DLL。你需要在你的Web应用程序中添加对这些dll的引用,然后这些目标dll会被复制到你的bin文件夹中,你应该没事。或者这些DLL没有在GAC中注册,并且存在问题。