【问题标题】:Signed assembly issue签名组装问题
【发布时间】:2012-08-28 10:25:59
【问题描述】:

我的项目中有 WCF 服务。它引用了另一个带有服务合同接口的程序集。 在我使用密钥与合同签署参考并对合同和服务进行更改之前,一切都运行良好。

重建后我开始收到这样的异常: 来自程序集 ZZZ 的 YYY 类型中的方法 XXX 没有实现。

似乎服务正在使用带有合同的旧 dll,但找不到原因。当我使用反射器查看生成的 dll 时 - 没有旧代码 - 合同和服务的签名是相同的。 如果我从合同中删除签名 - 一切都会完美。

出于测试目的,服务在 Cassini 网络服务器下运行。还尝试在 IIS 下运行它。我之前的解决方案是删除 ASP.NET 临时文件。现在没用了。

合同的参考是为共享点的需要而签署的。如果我从 GAC 中删除此引用,该错误也会消失。但是为什么服务项目要在 GAC 中寻找这个 dll 呢?有解决办法吗?

不胜感激。

【问题讨论】:

    标签: c# .net .net-assembly signing


    【解决方案1】:

    这就是 CLR 的特点。如果程序集是强命名的 - CLR 将在 GAC 中搜索它。 所以在我的情况下 - 我应该在 GAC 中保留我的 DLL 的正确版本或从那里删除它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-09
      • 1970-01-01
      • 1970-01-01
      • 2014-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-05
      相关资源
      最近更新 更多