该名称在命名空间中不存在,但intellisense表示它确实存在

时间:2014-03-31 00:43:50

标签: c# silverlight xaml visual-studio-2013

我想在xaml设计器中使用一个继承自UserControl的类,但由于某种原因它没有看到该类。我尝试删除所有可能的代码并简化了一些事情,但它仍然无法工作。该课程是

namespace StationHouse
{
    public class TryMe : UserControl {}
}

我的xaml看起来像

<MyTypes:TryMe x:Class="StationHouse.Operations.Contact"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:MyTypes="clr-namespace:StationHouse"

但我收到错误:

  

名称&#34; TryMe&#34;命名空间中不存在&#34; clr-namespace:StationHouse&#34;

更奇怪的是,如果我进入xaml的主要部分并输入MyTypes:,那么intellisense会弹出TryMe,但是一旦我选择它,我仍会得到同样的错误。我尝试过重建应用程序并关闭/重新打开Visual Studio,但没有运气。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

虽然我确定有很多事情可以导致这个问题,但我的特殊原因与编译器有关。基本上,我将一些实现从一个接口更改为一个抽象类,这会产生大量的编译器错误。当我通过更改我的xaml以引用正确的新类时,我想后台编译器因为所有错误而无法将其识别为有效类。

我所做的是评论了几件事情,这最终让我编译了我的新抽象类并让我的上述错误消失了。然后我一个接一个地取消评论,并毫无问题地移动它们。