我有一个带有Web应用程序的Silverlight应用程序来测试它, 我在Web应用程序上创建了两个WCF服务。 我可以在Silverlight应用程序中添加所有服务的引用,但是当我想使用我的一个数据协定时,我无法将我的服务命名空间添加到Silverlight应用程序中:
例如:我的WCF服务中有一个人类(参考名称) WCF service.person = new wcfservice.person();
错误:
找不到类型或命名空间名称'WCF服务'(是吗? 缺少using指令或程序集引用?)
答案 0 :(得分:0)
我可以在Silverlight应用程序中添加引用我的所有服务但是 当我想使用我的一个数据合同时......
您无法引入命名空间,因为它存在于已在不同CLR中编译的程序集中。但这并不意味着人们无法使用已定义的类。通过使用链接文件将目标类引入Silverlight项目,可以安全地解决CLR差异。
链接文件在两个项目中构建,原始链接文件和链接文件,但只驻留在一个位置;因此,对它的改变反映在两个项目中。
在Silverlight项目add
目标文件中,然后选择:
这样你可以在命名空间中使用类,因为它被编译到Siliverlight程序范围内;但对文件所做的任何更改也会反映在Silverlight应用程序中。