2010-04-30 48 views

回答

2

在SL和.Net之间共享源代码的另一种方法是使用链接文件。

在.net解决方案中,添加一个silverlight库项目。

添加>现有项目>浏览到.net项目中的源文件,选择它们,单击“添加”按钮上的向下箭头并选择“添加为链接”。

在很多情况下,不需要修改。在存在较小差异的情况下,请在源代码中使用构建标志和条件。例如

#if SILVERLIGHT 

#else 

#endif 

这对我来说很好,特别是当我想共享一个DTO库时。

+0

注意,通常Silverlight模板项目已经具有为此用法定义的标志SILVERLIGHT。 – AnthonyWJones 2010-04-30 11:55:32

+0

@安东尼,谢谢你的提醒。它已经有一段时间了,只是从我失败的记忆中回答。 – 2010-04-30 11:57:08

0

我的建议是创建不同的项目文件(对于.NET和SL)。然后将通用文件添加到每个文件中。

许多类和方法都可以在.NET和SL上使用,因此可以使这两个项目共享相同的代码。

这不适用于所有情况。例如,我的开源项目#SNMP使用UDP相关的类,但SL没有任何UDP相关的东西。

我个人的选择是限制SL应用程序的大小,并将必要的部分移动到后端WCF应用程序中。