我正在研究已部署的客户端服务器应用程序的更新,该应用程序使用.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文件相同的目录中的程序集的详细信息相匹配,因此我不太明白为什么客户端不加载它。是的,客户端与服务器的版本不同,但版本号是相同的,所以它应该可以工作,不应该吗?
答案 0 :(得分:0)
事实证明,这是信任客户的前承包商的危险......我只是假设他们提供的来源与部署的系统相对应,但似乎他们给了我一个过时的版本。导致此错误的特定问题是,在他们为我提供源代码的版本和部署版本之间,他们更改了包含众所周知的服务对象的命名空间的名称,因此在部署中无法找到它的错误