Visual Studio 2013 Express WPF Deigner 加载失败

Posted

技术标签:

【中文标题】Visual Studio 2013 Express WPF Deigner 加载失败【英文标题】:Visual Studio 2013 Express WPF Deigner load failure 【发布时间】:2014-10-09 09:34:35 【问题描述】:

我的 VS2013 Express Wpf Designer 出现问题。他不会加载我使用自定义转换器的视图。该应用程序编译并运行良好,我的转换器按预期工作。但在设计模式下,我不断收到“名称 converterClassName 不存在于命名空间 namespace”

问题是,虽然我不使用设计器来创建视图,但我使用它来了解我正在做的事情会是什么样子,而无需调试,所以如果它可以工作我会非常高兴再次。

全球视野:

(请原谅我的法语)


详情:

我引用了我的命名空间(与这种方式的视图属于同一个程序集:

<UserControl xmlns:converters="clr-namespace:Sequenceur.ProdUI.IHM.Converters">

以这种方式声明资源:

<UserControl.Resources>
    <converters:BoolToVisibility x:Key="visibilityConverter"/>
</UserControl.Resources>

(这个问题和Window一样)

并以这种方式使用我的转换器:

<MenuItem Header="Maintenance" Visibility="Binding Path=AdminMode, Converter=StaticResource ResourceKey=visibilityConverter">

转换器本身

这是一个简单的IValueConverter 实现,没什么花哨的。

在我的所有其他项目中,即使使用转换器,设计器也能正常加载。您可能想知道我从另一个项目中用我的视图制作了一些脏副本/过去,它一定来自那个,但我看不出在哪里......

【问题讨论】:

【参考方案1】:

对于转换器以及 resx 文件中的资源,我在 VS 2012 中遇到过类似的问题。恐怕我没有一个每次都有效的解决方案,但是从this one 和this one 等类似问题中启发自己,我通常在解决方案配置“Debug 86”和“Debug Any CPU”之间切换一对多次,清洁和重建,直到问题消失(它并不总是第一次起作用)。

如果这不起作用,上面链接中的答案会提到我个人没有尝试过的其他解决方案,包括将程序集信息添加到 clr-namespace 或更改输出路径。

我还看到了包括创建一个新项目以消除错误的解决方案,但由于这些错误往往会反复出现,因此它只是一个临时解决方案(而且是一个烦人的解决方案,尤其是在使用源代码时控制)。

【讨论】:

好的,所以它来自 VS 设计器缺陷,没有通用的解决方案。无论如何,谢谢你的提示。这是你的观点。 好吧,也许有一种完全合理的方法可以解决这个问题,但我还没有找到。我希望它会在 2013 版本中得到解决,但似乎没有。在我看来,通过坚持 x86,问题发生的频率降低了。好勇气!【参考方案2】:

与 Visual Studio 设计师的争执很常见,尤其是在我的情况下。有时我处于疯狂的边缘,这就是为什么我只喜欢代码视图而不使用设计器的原因(当然,设计有一些优势)。但就您而言,这些步骤应该会有所帮助:

    重建解决方案(BoolToVisibility 可能未构建) 关闭您的 XAML 文件 尝试第二次清理和重建 打开您的 XAML 文件

也许没用。有时重新启动 Visual Studio 也可以解决其中一些问题。

【讨论】:

我在发布之前已经尝试过了。无论如何,我很高兴知道我不是唯一一个在苦苦挣扎的人。

以上是关于Visual Studio 2013 Express WPF Deigner 加载失败的主要内容,如果未能解决你的问题,请参考以下文章

安装了SQL2005再安装SQL 2008R2,提示此计算机上安装了 Microsoft Visual Studio 2008 的早期版本和检查是否安装了 SQL Server 2005 Expres

Visual Studio Express 2013 和 Visual Studio 2013 之间的区别

是否有可能使用团队资源管理器进行版本控制而无需为Visual Studio购买许可证?

如何设置 TFS 2013 以使用 Visual Studio 2013 或 Visual Studio 2017 构建

如何使用Visual Studio 2013或Visual Studio 2017设置TFS 2013

Visual Studio 2013 Tools for Unity安装目录,Visual Studio 2013 Tools.unitypackage