我应该选择什么 VS 项目类型,以便我在其中创建的数据传输对象可以在我的 Silverlight 项目和我的 WCF 服务项目中访问。
(当我创建对 WCF 服务的 Web 服务引用时,我希望能够重用我在两个项目中定义的 DTO,而不是让 VS 在我的 Silverlight 项目中生成一个新集合)。
IE,我的问题是该项目可以是 Windows 类库,还是应该是 Silverlight 类库(以便在我的 Silverlight 项目和 WCF 项目中引用它)。
我应该选择什么 VS 项目类型,以便我在其中创建的数据传输对象可以在我的 Silverlight 项目和我的 WCF 服务项目中访问。
(当我创建对 WCF 服务的 Web 服务引用时,我希望能够重用我在两个项目中定义的 DTO,而不是让 VS 在我的 Silverlight 项目中生成一个新集合)。
IE,我的问题是该项目可以是 Windows 类库,还是应该是 Silverlight 类库(以便在我的 Silverlight 项目和 WCF 项目中引用它)。
您有三个主要选择:
创建两个类库项目(一个针对 Silverlight,另一个针对 .NET Framework),并在它们之间共享文件,正如我在本文中讨论的那样:http ://www.silverlightshow.net/items/Building-a-Silverlight- Line-Of-Business-Application-Part-3.aspx
将您的类库创建为 Silverlight 类库。Silverlight 应用程序无法引用面向完整 .NET Framework 的类库,但面向完整 .NET Framework 的应用程序(例如您的 WCF 服务)可以(通常)引用面向 Silverlight 运行时的类库。
试用便携式库工具(目前处于测试阶段):http: //blogs.msdn.com/b/sburke/archive/2011/01/23/3-screen-coding-is-here-portable-library-tools-允许您以一个二进制文件为目标的多个网络平台
您是否考虑过使用 RIA 服务(或 WCF 数据服务)而不是普通的 WCF 服务?RIA 服务/WCF 数据服务为您解决了这个问题,并在其中添加了其他强大的功能。
希望这可以帮助...
克里斯·安德森