不能使用WPF设计器因为在XAML中找不到自定义基本窗口类型,但后面的代码很好

时间:2010-07-16 18:15:07

标签: wpf xaml visual-studio-2010

我在WPF项目中使用基类Window类。在C#文件后面的代码中,基类型的程序集被引用并且很好。在XAML中看起来像这样:

<MyNamespace:WindowBase x:Class="MyNamespace.Applications.UserInterface.MainWindow"
                xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
              xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
              xmlns:MyNamespace="clr-namespace:MyNamespace.Somewhere;assembly=MyNamespace.Common"
                Title="MainWindow" Height="350" Width="525">
        <Grid>
    </Grid>

解决方案编译得很好,我可以运行它。我只是不能在VS 2010中使用设计器。它抛出以下异常:找不到类型'MyNameSpace:WindowBase'。验证您是否缺少程序集引用,并且已构建所有引用的程序集。

好。他们已。我无法理解这个问题是什么。这个特殊的基类在其他项目中使用得很好。我把它抓到一个新项目,我不能使用设计师。很沮丧。

4 个答案:

答案 0 :(得分:3)

最近发现此问题(此评论从评论中升级)。

如果从网络路径复制dll,则必须在Windows资源管理器中右键单击该文件,选择“属性”,然后“取消阻止”;出于安全原因,有一个与文件关联的隐藏NTFS流,以及从网络路径中的网络或副本下载时的许多文件。

只有设计师抱怨,但项目构建并运行良好:奇怪不是吗?!

答案 1 :(得分:1)

每当设计师对我采取行动时 - 我要做的第一件事就是清除项目中的obj文件夹并重建。有时它们似乎由于某种原因而不同步(通常是当我拖放大量文件并重命名可视项目时)。

答案 2 :(得分:0)

我不知道它是否是同一个问题,但是在VS2008中我试图制作抽象的UserControls但是必须改变它,因为设计师不支持任何抽象基类(但是解决方案是可编译的并且也可以作为被考虑的工作)

答案 3 :(得分:0)

固定。包含我的基类的库驻留在我没有权限的网络上的驱动器上。这似乎对VS 2008没有任何影响,因为它起作用,但VS 2010在设计师试图加载它时显然是例外。奇怪的。