簡體   English   中英

將 .net 4 class 庫中的 C# 類公開給 Silverlight 應用程序

[英]Expose C# classes in .net 4 class library to Silverlight App

我從第三方公司購買的 C# class 庫中有一堆類。

我想使用這些類並通過繼承它們來創建我的類。 我已經在 .net 4 wpf 應用程序上工作。

然后我想在我的 silverlight 應用程序中使用這些類。

我有什么選擇,哪個是最好的選擇? 我想以這樣的方式使用它,以便我可以更新第 3 方公司的 DLL,因為他們每個月都會發布新版本。

只是為了再次強調幾點:

我們幾乎沒有選擇。 1. 鏈接類(作為添加現有項但帶有鏈接) 2. 創建接口並在 WCF 之間共享它們作為鏈接 class 並讓所有類繼承接口 3. 使用 RIA 服務並讓 Z2567A5EC9705EB7AC2C9840 自動代碼創建將其暴露給 silverlight。

還有其他選擇嗎? 如果不是,那么哪一個更適合我所面臨的情況?

謝謝

然而值得注意的是,.NET 平台附帶 Silverlight 與帶有完整 .NET 框架的平台不同。

這意味着第三方程序集與 Silverlight 兼容的可能性很小,即使 SL 使用相同的 IL。 如果第三方程序集僅引用 mscorlib 或 System.dll,則可以將其編譯為 SL 和 WPF 之間的跨平台程序集。

但是,在所有其他情況下,SL 和完整 .NET 平台之間的差異將阻止組件與 Silverlight 兼容。

如果第三方軟件與 UI 或網絡有任何關系,如果該軟件使用 Windows API... 等。它在 Silverlight 應用程序中不起作用。

這就是為什么不能從 SL 項目中引用一般 .NET 組件的原因。 但是,在某些情況下,可以在一般 .NET 項目中使用 SL 組件。

但是,如果程序集執行計算和異步任務,您可以在服務器上執行它,並將結果發送回 Silverlight 應用程序。

例如,如果 class 庫生成報告、文件或圖像,這是一個很好的選擇。

第三方庫是做什么的?

如果您沒有源代碼,則無法在 Silverlight 應用程序中引用 class 庫(您可能已經知道)。 如果不重新編譯,則無法在 Silverlight 中使用標准 .NET 庫,因為 Silverlight 是不同的框架和不同的 CLR。

您可以使用服務器上的庫並創建一些服務來訪問該功能。

我認為沒有其他方法可以實現您的目標,除非您獲得可以放入名為 Shared 的目錄中的源代碼。 然后它將被復制到您的 Silverlight 應用程序並在 Silverlight 中編譯。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM