我正在对已部署的客户端服务器应用程序进行更新,该应用程序使用 .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 文件相同的目录中的程序集的详细信息相匹配,所以我真的不明白为什么客户端不加载它。是的,客户端与服务器的版本不同,但版本号相同,所以它应该可以工作,不是吗?