2010-10-15 167 views
2

有沒有辦法做到這一點?從Silverlight項目中添加對.net庫(dll)的引用

我有一個'helper'代碼庫,我想從Silverlight項目中使用。我不知道爲什麼,但Visual Studio不會讓我添加引用,即使我的庫中沒有禁止任何東西(如DataSets)

我不想再次編寫所有代碼,所以我想也許創建一個Silverlight類庫並添加我的類作爲該項目的鏈接。

我知道其他東西的作品,還沒有在Silverlight中嘗試過,這種方法有問題嗎?有沒有更好的方法來實現我想要的?

回答

2

這種方法應該沒有問題。事實上,Prism大量使用鏈接文件(結合預處理器指令)來支持庫的WPF和Silverlight。

此外,您可以使用Project Linker工具來幫助您解決這個問題。

我希望這會有所幫助。

1

不,您不能添加.net程序集,您需要重新編譯silverlight庫。

您可以在.net classlibrary所在的目錄中創建一個新的空Silverlight類庫。然後在項目菜單中選擇「顯示所有文件」。然後你會在解決方案資源管理器中看到該文件夾​​中的所有.cs文件都是半透明的。選擇它們並在上下文菜單中選擇「Include in Project」。

甚至有可能只使用一個具有多個構建的項目(如Debug和Release其中一些目標SL),但我不確定這是否可行。這樣做的好處是無需手動同步項目文件。

+0

我知道我不能這就是我說的......我只是想用我的lib中的類作爲鏈接並將該lib添加爲參考 – sebagomez 2010-10-15 18:43:50

+0

@seb - 區分*重寫*和*重建*是一個相當大的一個。 – 2010-10-15 18:51:22

+0

@hans答案並不完整,當我輸入評論時......現在它說明了我需要知道的東西,謝謝 – sebagomez 2010-10-15 20:10:25

1

這種方法沒有問題。例如,MEF已完成此操作。您會在那裏找到兩套項目 - 一個桌面和一個silverlight項目,每個項目都指向相同的.cs文件。

一個很好的幫助,如果有任何非silverlight功能,或SL在您的類中需要的特定功能,您可以使用部分類來處理這些情況。只需將第二個.cs文件包含在適當的項目中,並使用部分類,就可以分離出普通/ sivlerlight功能。

相關問題