0

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

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

我能做些什么呢?也许以不同的方式自己编译 D3?

4

3 回答 3

3

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

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

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

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

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

于 2011-06-24T22:59:33.237 回答
1

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

于 2011-06-24T22:58:43.943 回答
0

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

于 2011-06-28T22:10:52.320 回答