【问题标题】:Host WCF IIS could not find assembly .dll主机 WCF IIS 找不到程序集 .dll
【发布时间】:2012-10-06 05:35:19
【问题描述】:

我试图在 IIS 上托管 WCF 服务。我创建了一个虚拟目录,将应用程序池设置为 v.4.0 框架,将 pysichal 路径设置为应用程序路径。

当尝试运行该服务时,我收到以下错误: “无法加载文件或程序集 'ingdnp.dll' 或其依赖项之一。”

有人知道那个 DLL 是什么吗?我在谷歌上找不到任何东西。

更新:

我需要在 GAC(全局程序集缓存)中注册 DLL。 THK 全部

【问题讨论】:

    标签: .net wcf iis-7


    【解决方案1】:

    很容易解决您的问题。只需从您的bin 文件夹、项目或引用中删除ingdnp.dll

    【讨论】:

    • 非常有用。我做的!我有一个非常聪明的朋友告诉我这样做,但我不相信他。但我相信你。非常感谢“解决您的问题”。小美味……这是给你的。
    【解决方案2】:

    它是否在您应用程序的 bin 目录中?有时会发生这些错误,因为您有一个以 32 位模式编译的本机或混合模式 DLL 依赖项,而您的应用程序池是 64 位(反之亦然)。 DLL 确实存在,但无法加载。

    我经常看到的另一个原因是,无法加载的 DLL 取决于系统上不存在的 C 运行时库 (MSVCRT) 的版本。为了解决这个问题,您可以在 Dependency Walker 中加载有问题的 DLL,看看它是否报告了缺少的依赖项(如果是,是什么版本)。

    【讨论】:

    • 我不明白你的问题...我的 bin 目录中有什么?
    • 您应该在应用程序的根目录(IIS 指向的位置)下有一个“bin”子目录,其中包含已编译的服务及其依赖项。
    • 抱歉,我建议编译器可能已将“ingdnp.dll”放在那里(在“bin”中),因为它是您的应用程序的依赖项。
    • 是的,那个 DLL 在我的 Bin 目录中,但是错误提示找不到它
    • 您粘贴的错误说它无法加载它,而不是它无法找到它。这可能是由于我的回答中的原因。另一种可能性是 ingdpn.dll 需要特定版本的 C 运行时库 (msvcrt) 才能存在于机器上,但它找不到该版本,因此无法加载。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-10
    • 2021-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-17
    相关资源
    最近更新 更多