无法在Silverlight 5应用程序中添加对DLL程序集的引用

本文关键字:DLL 程序集 引用 添加 Silverlight 应用程序 | 更新日期: 2023-09-27 18:00:26

我正在尝试使用动态数据显示(D3)库在Silverlight 5应用程序(浏览器外)中显示图形。每当我尝试添加"DynamicDataDisplay.dll"作为引用时,它会在关闭对话框后再次被删除。

然而,我可以在普通的Windows窗体或WPF项目中使用该引用。那么这是Silverlight框架的一些限制吗?

我该怎么办?也许我自己用不同的方式编译D3?

无法在Silverlight 5应用程序中添加对DLL程序集的引用

Silverlight应用程序只能使用Silverlight项目编译的程序集。也有例外,但对于任何与UI相关的东西,它总是正确的。

因此,如果要在Silverlight应用程序中使用第三方库,则需要使用特殊的Silverlight版本,而不是普通版本。"正常"版本有时被称为。NET4版本或WPF版本,以将其与Silverlight版本进行对比。

最终的结果是Silverlight在所有实际用途中都与完整的CLR不兼容。但是有相当多的源代码兼容性,包括核心框架的大部分和WPF的部分不兼容子集。

事实上,构建并行WPF和Silverlight程序集的标准方法是使用两个项目,这两个项目通过一些条件编译链接所有相同的源文件。

幸运的是,正如@dtb所指出的,Dynamic Data Display已经支持Silverlight下载。但这同样适用于您可能考虑使用的任何第三方库:它需要具有Silverlight风格。

如果D3 dll依赖于的完整安装。Net,而不仅仅是silverlight子集,silverlight将不允许直接导入。你必须在你的服务器上托管.dll,并向它公开异步服务方法。除非这是一个真正致命的dll,否则它是不值得的…

您也可以使用可移植类库我是silverlight