2010-04-30 72 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應用程序中。