0

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

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

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

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

即使从 IIS 运行,这也完全返回了我需要的内容,但它仍然没有加载 DLL。我一直在搜索,似乎找不到任何有这个问题的人。

任何帮助将不胜感激。

4

1 回答 1

0

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

于 2013-08-02T19:08:34.130 回答