如何在WPF和Silverlight应用程序中使用相同的类库

时间:2012-05-09 10:17:50

标签: c# wcf silverlight wcf-ria-services class-library

您好我想在Silverlight应用程序和基于WCF的服务中使用相同的类库。我创建了一个Silverlight C#类库,发现WCF服务不允许添加对Silverlight项目类型的引用。所以

  • 我该怎么做才能使这项工作?

  • 如果Silverlight类库与WCF服务进行通信,Silverlight可以调用它吗?

  • Silverlight总是很难吗?

3 个答案:

答案 0 :(得分:4)

答案 1 :(得分:1)

尝试制作2个类库,一个用于Silverlight,另一个用于WCF。两者都使用相同的C#源代码文件。在第二个项目中,您可以将文件添加为链接(在解决方案资源管理器中的Visual Studio中:添加现有项目,然后在下拉添加按钮中,选择“添加为链接”。

这就是我们为共享代码解决它的方式。您必须限制自己在两个世界中存在的库调用。

答案 2 :(得分:1)

现在很容易:D - 只使用.shared技巧。它允许您在服务器和客户端之间共享相同的代码。看这里:http://msdn.microsoft.com/en-us/library/ee707371(v=vs.91).aspx

PS:您甚至可以在.shared类中添加条件指令,如下所示:

#if SILVERLIGHT
        MessageBox.Show("yay, I will run only on silverlight");
#endif