17

我在添加 dll 引用时遇到了一个奇怪的问题。我有一个 WPF 应用程序并正在尝试使用 WPF MDI 库:http ://wpfmdi.codeplex.com/

如说明中所述(非常模糊),我右键单击 VS2012 中的引用,单击Add reference..,单击Browse..并添加我下载的 dll。

接下来,我在窗口的 XAML 中添加了以下行:xmlns:mdi="clr-namespace:WPF.MDI;assembly=WPF.MDI"如说明中所述。

但是,当尝试<mdi:MdiContainer>在 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:

<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();它可以毫无问题地编译。

另请注意,我最初的问题是在这里提出的,但没有任何建议有效。然而,问题现在已经改变,因为上面的段落似乎表明代码在后面的代码中成功编译,但在 XAML 文件中没有。

编辑:我还想补充一点,我可以浏览程序集参考的代码,如下所示。

在此处输入图像描述

4

3 回答 3

10

我终于自己解决了这个问题 - 将把这个答案留在这里,以防有人在某个时候遇到同样的问题。将解决方案本身添加到程序集的引用路径中即可解决问题!可惜没有记录在案……

编辑:澄清一下,我所做的是添加解决方案,而不是 dll。换句话说,我添加了 MDI 解决方案及其所有类。这自然适用于源代码也可用的 DLL。

于 2012-10-14T19:21:01.267 回答
8

如果 Visual Studio 即使在您尝试了所有操作后仍继续抱怨和下划线,请使用任务管理器终止 XDesProc.exe 进程,然后重新构建解决方案。

于 2015-04-29T13:29:55.337 回答
1

从http://wpfmdi.codeplex.com/获得 sln 文件。构建了那个项目并使用了 bin 中的新 .dll,使用了它,然后它对我来说很好用。

于 2015-10-14T07:40:25.857 回答