在XAML中找不到程序集引用,但在xaml.cs类中引用时代码编译
我添加一个dll引用有一个奇怪的问题。 我有一个WPF应用程序,我正在尝试使用WPF MDI库: http : //wpfmdi.codeplex.com/
如说明书中所述(非常模糊),我在VS2012中右键单击了引用,单击了Add reference..
,单击Browse..
并添加了我下载的dll。
接下来,我在窗口的XAML中添加了以下行: xmlns:mdi="clr-namespace:WPF.MDI;assembly=WPF.MDI"
如说明中所述。
但是,当尝试在XAML中添加时,将显示以下错误消息:
The type 'mdi:MdiContainer' was not found. Verify that you are not missing an assembly reference and that all referenced assemblies have been built.
The name "MdiContainer" does not exist in the namespace "clr-namespace:WPF.MDI;assembly=WPF.MDI".
这是我的XAML:
这个问题让我整天感到沮丧。 我已经尝试了几乎所有可以想到的东西。 值得注意的是,我已经从库的站点下载了示例应用程序,我可以毫无问题地运行它。 除此之外,我已经将它添加到我的项目的xaml.cs类中: WPF.MDI.MdiContainer d = new WPF.MDI.MdiContainer();
并且它完全没有任何问题。
还请注意,我在这里提出了我最初的问题,但没有一个建议有效。 然而,问题现在已经改变了,因为上面的段落似乎表明代码在后面的代码中成功编译,但在XAML文件中没有。
编辑:我还想补充一点,我能够浏览汇编参考的代码,如下所示。
我终于自己解决了这个问题 – 在这里留下这个答案,因为有些人在某个时候有同样的问题。 将解决方案本身添加到程序集的引用路径可以解决问题! 遗憾的是这没有记录……
编辑:澄清一下,我所做的是添加解决方案,而不是dll。 换句话说,我添加了MDI解决方案及其所有类。 这自然适用于源代码可用的DLL。
如果Visual Studio在尝试所有内容后仍会继续抱怨和下划线,只需使用任务管理器终止XDesProc.exe进程,然后重建解决方案。 Visual Studio中的WPF和XAML支持是可怕的一块糟糕的东西。
得到了来自http://wpfmdi.codeplex.com/
.Build的sln文件,并从bin中使用了新的.dll,用过它,然后它对我来说很好。