添加dll引用时出现了一个奇怪的问题。我有一个WPF应用程序,我正在尝试使用WPF MDI库:http://wpfmdi.codeplex.com/
如说明书中所述(非常模糊),我右键点击VS2012中的引用,点击Add reference..
,点击Browse..
并添加我下载的dll。
接下来,我在窗口的XAML中添加了以下行:xmlns:mdi="clr-namespace:WPF.MDI;assembly=WPF.MDI"
,如说明中所述。
但是,在尝试在XAML中添加<mdi:MdiContainer>
时,会显示以下错误消息:
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:
<Window x:Class="QueryBuilder.Table"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mdi="clr-namespace:WPF.MDI;assembly=WPF.MDI"
Height="300" Width="300" WindowStyle="ToolWindow" ResizeMode="NoResize" ShowInTaskbar="False">
</Window>
这个问题让我整天感到沮丧。我已经尝试了几乎所有可以想到的东西。值得注意的是,我已经从库的站点下载了示例应用程序,我可以毫无问题地运行它。除此之外,我已经将它添加到我的项目的xaml.cs类中:WPF.MDI.MdiContainer d = new WPF.MDI.MdiContainer();
并且它完全没有任何问题。
请注意,我的第一个问题是here,但没有一项建议有效。然而,问题现在已经改变,因为上面的段落似乎表明代码在后面的代码中成功编译,但不在XAML文件中。
编辑:我还想补充一点,我可以浏览大会参考的代码,如下所示。
答案 0 :(得分:9)
我自己终于解决了这个问题 - 在这里留下这个答案,因为有些人在某个时候遇到同样的问题。将解决方案本身添加到程序集的引用路径可以解决问题!遗憾的是,这没有记录......
编辑:为了澄清,我所做的是添加解决方案,而不是dll。换句话说,我添加了MDI解决方案及其所有类。这自然适用于源代码可用的DLL。
答案 1 :(得分:7)
如果Visual Studio在尝试所有内容后仍会继续抱怨和下划线,只需使用任务管理器终止XDesProc.exe进程,然后重建解决方案。 Visual Studio中的WPF和XAML支持是可怕的一块糟糕的东西。
答案 2 :(得分:1)
从http://wpfmdi.codeplex.com/
获得sln文件。构建该项目并使用bin中的新.dll,使用它,然后它对我来说很好。