我有一个长时间运行的 WPF 应用程序,突然间,XAML 设计器(和错误列表)开始抱怨在命名空间别名中找不到某些类。
例如,所有转换器都存储在 MyNameSpace.Converters 中,但是,无论何时打开包含对该命名空间内转换器的引用的表单,设计器都会报告标记错误,并且项目构建也会反映这些错误。但是这些转换器在这个命名空间内 - 转换器在yonks中没有改变:项目运行良好,这些转换器本身,工作正常 - 如果它们不是,那将是非常明显的。报告这些错误是在设计和构建阶段:如果有构建错误,为什么项目会运行?
我试过清理项目,关闭VS,重新启动PC,但没有运气。
示例错误消息:
The name 'FPriorityBrushConverter' does not exist in the namespace 'clr-namespace:PracticonCASMgr.Converters'
XAML:
xmlns:converters="clr-namespace:PracticonCASMgr.Converters"
...
<Grid.Resources>
<converters:FPriorityBrushConverter x:Key="FPriorityBrush"/>
...
打开转换器源 .cs
namespace PracticonCASMgr.Converters
public class FPriorityBrushConverter : IValueConverter
{...
如果我对其中一个转换器的行为(返回颜色 btw)进行更改,以便返回蓝色的画笔,则使用此转换器的所有区域都以蓝色显示 - 所以转换器工作正常。然而,设计师坚持抱怨标记错误。
寻找解决方案,我发现其他人也遇到过这种情况,只是发现关闭VS,重新启动,清理,点击手指三下解决了这个问题,但这些都对我不起作用。
完全困惑,希望有人能对此有所了解。
谢谢
ps 在撰写本文时,一位同事刚刚告诉我,该项目现在抱怨现在无法找到 XAML 中引用的用户控件:但是尽管构建错误并且用户控件(显然已经消失)正常运行,但该项目运行良好.
Visual Studio 2012 完全更新。在网络共享上运行的项目 - 我这样说是因为其他人已经通过在本地运行项目解决了这个问题,但对我来说这不是一个选项。