我在第三方公司购买的C#类库中有很多类。
我想使用这些类并通过继承它们来创建我的类。 我已经完成了.net 4 wpf应用程序。
我想在我的silverlight应用程序中使用这些类。
我有哪些选择,哪种选择最佳? 我希望以这样的方式使用它,以便我可以在每月发布新版本时更新第三方公司的DLL。
重新强调几点:
我们几乎没有选择。 1.链接类(作为添加现有项目但链接) 2.创建接口并在WCF之间作为链接类共享它们,并让所有类继承接口 3.使用RIA服务,让网络应用程序创建自动代码,将其暴露给silverlight。
还有其他选择吗?如果没有,那么哪一个更适合我所面临的情景?
由于
答案 0 :(得分:2)
值得注意的是,Silverlight附带的.NET平台与完整.NET Framework附带的.NET平台不同。
这意味着即使SL使用相同的IL,第三方程序集与Silverlight兼容的可能性也很小。如果第三方程序集仅引用mscorlib或System.dll,则可以将其编译为SL和WPF之间的跨平台程序集。
但是,在所有其他情况下,SL和完整.NET平台之间的差异将阻止程序集与Silverlight兼容。
如果第三方软件与UI或网络有任何关系,如果该软件使用Windows API ...等,它将无法在Silverlight应用程序中运行。
这就是为什么无法从SL项目引用通用.NET程序集的原因。但是,有些情况下SL程序集可以在一般的.NET项目中使用。
如果程序集执行计算和异步任务,您可以在服务器上执行它,并将结果发送回Silverlight应用程序。
例如,如果类库生成报告,文件或图像,这是一个很好的选择。
第三方图书馆做了什么?
答案 1 :(得分:1)
如果您没有源代码,则无法在Silverlight应用程序中引用类库(您可能已经知道)。如果不重新编译,就无法在Silverlight中使用标准.NET库,因为Silverlight是一个不同的框架和不同的CLR。
您可以使用服务器上的库并创建一些服务来访问该功能。
我认为没有任何其他方法可以实现您的目标,除非您获得可以放入名为Shared的目录的源代码。然后将它复制到Silverlight应用程序并在Silverlight中编译。