WPF程序集引用丢失 – 项目仍在构建中

我试图在我的解决方案中使用WPF的动态数据显示库。 我在我的项目中添加了对DynamicDataDisplay.dll的引用。 我还在.xaml中添加了一个命名空间,如下所示: xmlns:d3="http://research.microsoft.com/DynamicDataDisplay/1.0"

当我尝试从动态数据显示库添加元素时,Intellisense没有帮助我。 当我在.xaml中输入类似的内容时:

  

Visual Studio会将其标记为错误,其中包含以下文字:

 The type 'd3:ChartPlotter' was not found. Verify that you are not missing an assembly reference and that all referenced assemblies have been built. 

但奇怪的是它仍然编译。 有人可以告诉我我做错了什么吗?

下面是一个示例代码,它编译得很好,但在设计器中显示错误:

     

编辑:

我尝试了像Merlyn Morgan-Graham建议的名称空间声明,但它仍然不起作用。 发生了另一个错误

 Unable to load the metadata for assembly 'DynamicDataDisplay'. This assembly may have been downloaded from the web. See http://go.microsoft.com/fwlink/?LinkId=179545. The following error was encountered during load: etc. 

看起来下载的程序集需要手动解锁。 这可以在Windows文件属性中完成。 解除阻塞并重新启动Visual Studio后问题得以解决。

http://sofzh.miximages.com/c%23/UNBLOCK.PNG

这似乎是架构引用,而不是程序集引用。

这样的事情可能会更好:

 xmlns:d3="clr-namespace:Microsoft.Research.DynamicDataDisplay;assembly=DynamicDataDisplay" 

http://msdn.microsoft.com/en-us/library/ms747086.aspx

编辑

我想我找到了你正在使用的库,所以我将XAML命名空间参考更新为我认为适合你的。 如果没有,请检查文档,或者开始编辑一些代码,并找出ChartPlotter类所在的命名空间。

对于其他读者的另一点:如果您成功构建项目,但是在尝试在设计器中加载视图时收到此错误消息,请确保您的程序集是x86或任何CPU,因为Visual Studio 2010是32位进程并且无法加载设计器中的x64程序集。

在引用动态数据显示库的二进制版本中找到的DLL文件时,我得到了相同的“无法加载元数据”错误。 当我下载库的源版本并自己编译时,问题就解决了。 在DynamicDataDisplay_0.3 / sln / DynamicDataDisplay / Debug / bin下引用DLL时,它工作正常。

我想问题是DLL的一些权限,正如问题末尾已经指出的那样 – 你可以“解锁它”,见上文。

我有类似的问题,我按照这里概述的步骤创建了第一个示例项目, https://github.com/Microsoft/InteractiveDataDisplay.WPF

目前适用于,

  • NuGet包avostres.InteractiveDataDisplay.WPF v1.0和
  • NuGet包InteractiveDataDisplay.WPF v1.0
  • 我的项目目标框架是.NET 4.6.1 / VS Pro V15.7.3

它构建但是你得到一个运行时错误。 由于最近微软的修补,这似乎是一个兼容性问题。 使用NuGet安装额外的包,

  • System.Reactive.Compatibility V4

这解决了我的问题。

我在StephanBartels的github论坛上找到了解决方案, https://github.com/louthy/echo-process/issues/19