我正在开发一个同时具有 WinForms 和 Silverlight 客户端的 .NET 应用程序。虽然大部分代码将在服务器中,但我也需要在客户端中有相当多的逻辑,并且我希望保持客户端库代码相同。
据我目前所知,我需要两种不同的项目类型,一个类库和一个 Silverlight 类库,并将一个项目的文件链接到另一个项目。这看起来有点蹩脚,但它适用于简单的代码。
不过,我的问题是 SVCUtil.exe 生成的用于访问 WCF 服务的代码与 slsvcutil.exe 生成的代码不同,并且silverlight 代码实际上与 .NET 代码不兼容:当我尝试将 System.ServiceModel.Channel 类导入 .NET 时,我遇到了一堆问题。
有没有人做过类似的事情?我做错了什么?
最佳答案
不幸的是,从 Silverlight 3 和 .NET 3.5sp1 开始,没有二进制兼容性。您必须共享文件,并维护两个独立的库。
但是,Silverlight 4 和 .NET 4 将提供某种程度的二进制兼容性。根据您在客户端使用的程序集,您可以在 Silverlight 和 Windows 窗体中使用相同的组件。
关于c# - 在 .NET 和 Silverlight 应用程序之间共享 WCF 客户端代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2479777/