0

我正在对已部署的客户端服务器应用程序进行更新,该应用程序使用 .net 通过带有二进制格式化程序的 tcp 通道进行远程处理。由于客户端在地理上分布,我只需要在可能的情况下在服务器端进行更新。系统使用.net 3.5,客户端和服务器有一个共享的dll,其中包含一个众所周知的实现类。此 dll 没有强名称。

我遇到的问题是,当我更新服务器并尝试部署修改后的版本时,客户端失败,记录如下错误消息:

    Cannot load type '(service class name), (assembly name), Version =1.0.0.0, Culture = neutral, Public Key Token = null'

错误中指定的详细信息与部署在与 client.exe 文件相同的目录中的程序集的详细信息相匹配,所以我真的不明白为什么客户端不加载它。是的,客户端与服务器的版本不同,但版本号相同,所以它应该可以工作,不是吗?

4

1 回答 1

0

事实证明,这是信任您客户以前的承包商的危险......我只是假设他们提供的源对应于部署的系统,但似乎他们给了我一个过时的版本。导致此错误的特定问题是,在他们给我源的版本和部署的版本之间,他们更改了包含众所周知的服务对象的命名空间的名称,因此在部署的程序集中找不到它的错误.

于 2012-12-11T11:22:43.333 回答