我在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'。验证您是否缺少程序集引用,并且已构建所有引用的程序集。
好。他们已。我无法理解这个问题是什么。这个特殊的基类在其他项目中使用得很好。我把它抓到一个新项目,我不能使用设计师。很沮丧。
答案 0 :(得分:3)
最近发现此问题(此评论从评论中升级)。
如果从网络路径复制dll,则必须在Windows资源管理器中右键单击该文件,选择“属性”,然后“取消阻止”;出于安全原因,有一个与文件关联的隐藏NTFS流,以及从网络路径中的网络或副本下载时的许多文件。
只有设计师抱怨,但项目构建并运行良好:奇怪不是吗?!
答案 1 :(得分:1)
每当设计师对我采取行动时 - 我要做的第一件事就是清除项目中的obj文件夹并重建。有时它们似乎由于某种原因而不同步(通常是当我拖放大量文件并重命名可视项目时)。
答案 2 :(得分:0)
我不知道它是否是同一个问题,但是在VS2008中我试图制作抽象的UserControls但是必须改变它,因为设计师不支持任何抽象基类(但是解决方案是可编译的并且也可以作为被考虑的工作)
答案 3 :(得分:0)
固定。包含我的基类的库驻留在我没有权限的网络上的驱动器上。这似乎对VS 2008没有任何影响,因为它起作用,但VS 2010在设计师试图加载它时显然是例外。奇怪的。