WebService不从PATH环境变量加载dll

时间:2013-08-02 18:56:14

标签: c# web-services dllimport

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

  

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

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

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

并且这确切地返回了我需要它,即使从IIS运行,但仍然没有加载DLL。我一直在寻找,似乎找不到任何有这个问题的人。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

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