【问题标题】:WPF - CustomControl does not exist in the namespaceWPF - 命名空间中不存在 CustomControl
【发布时间】:2016-10-12 14:37:30
【问题描述】:

我在 VS2015 中创建新的自定义控件时遇到问题。实际上,它会生成一个包含错误的 Themes/Generic.xaml 文件

“命名空间 MyNamespace 中不存在名称 CustomControl”。

当然,自定义控件位于命名空间 MyNamespace 中,并且在 xaml 文件中,局部变量已定义好:

xmlns:local="clr-namespace:MyNamespace"

经过一番调查,这似乎是 IntelliSense 的一个众所周知的错误,简单的重启应该可以解决问题,但事实并非如此。

Related question

我试过了

  • 注释和取消注释代码
  • 关闭/重新打开文件
  • 重启 Visual Studio
  • 删除%LOCALAPPDATA%\Microsoft\VisualStudio\14.0\Designer\ShadowCache中的所有文件夹
  • 在调试/发布配置之间切换...

错误仍然存​​在。

我没有接触 IDE 为 CustomControl 生成的任何行代码,所以也许我错过了什么?

using System.Windows;
using System.Windows.Controls;

namespace MyNamespace
{
    public class CustomControl : Control
    {
        static CustomControl()
        {
            DefaultStyleKeyProperty.OverrideMetadata(typeof(CustomControl), new FrameworkPropertyMetadata(typeof(CustomControl)));
        }
    }
}

谢谢。

【问题讨论】:

  • 此控件是否存在于不同的程序集中(与尝试使用它的项目不同的项目)?另外,只需尝试运行该应用程序,如果正确引用它,它仍然可以工作并清除错误。至少当我遇到这个错误时会发生这种情况。
  • CutomControl 在项目中而不是在其他程序集中,因此我不需要在 XAML 文件中明确定义程序集名称。但是,我只是尝试重新构建解决方案并且可以正常工作......但设计器面板仍然出现错误,并且面板显示“设计视图无法正确显示,因为尚未构建一些自定义元素。”我也尝试了重新启动,但仍然存在......

标签: c# wpf xaml namespaces


【解决方案1】:

我终于找到了解决方法,它似乎是与CPU目标有关的问题。我正在为 x64 构建,但如果我选择“任何 CPU”和“首选 32 位”,设计器能够找到命名空间中的所有成员。也许这是因为 Visual Studio 是一个 32 位应用程序?再次感谢。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-08
    • 1970-01-01
    • 2014-10-19
    • 1970-01-01
    • 2011-10-19
    • 1970-01-01
    • 2019-06-26
    相关资源
    最近更新 更多