设置:
我有一个silverlight应用程序和一个webservice都希望使用相同的代码。
这是我的问题:
我不喜欢重复代码如何在Silverlight应用和我的网络服务之间共享代码?
答案 0 :(得分:1)
您可以采取多种方法来避免重复。
最有趣的方法是使用两个针对.NET Framework的不同项目,另一个针对Silverlight。因此,它们的引用指向适当的程序集集,Silverlight项目定义#SILVERLIGHT
条件编译符号。但是,它们共享同一组代码文件,即一个将使用链接文件。您可以使用条件编译来切换需要以不同方式完成的部分。
WCF RIA Services还提供了一种机制,您可以将代码放在服务器端项目中的* .shared.cs文件中,这些文件将自动复制到客户端项目中的“Generated_Code”文件夹中。
有一种方法可以在Silverlight 4和.NET 4.0之间共享一组代码和一个输出dll。但是,您需要将引用限制为一组非常窄的文件。见Sharing Silverlight Assemblies with .NET Apps
答案 1 :(得分:-1)
制作两个dll项目,一个silverlight dll和一个普通dll。让他们都使用生成静态库的公共代码引用第三个项目。公共代码作为静态库无论如何都是好的,因为你可以将它与任何类型的项目链接起来。