VisualStudio让我误解了这两个错误消息:
名称“SeverityToColorConverter”在命名空间“clr-namespace:MYNAMESPACE”中不存在。
和
名称“ReadOnlyTextBoxLineExtendedUnit”在名称空间“clr-namespace:MYNAMESPACE”中不存在。
我的应用程序的顶层有一个Styles.xaml。
简化为最小化,如下所示:
<select ng-init="funcName= options[0]" ng-model="ctrl.itemSelected" ng-change="ctrl.searchItem()">
<option ng-repeat="item in ctrl.items" value="{{ctrl.items.indexOf(item)}}">{{item}}</option>
</select>
两者,<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:MYNAMESPACE">
<local:SeverityToColorConverter x:Key="SeverityToColorConverter" />
<local:SeverityToImageSourceConverter x:Key="SeverityToImageSourceConverter" />
<Style TargetType="local:ReadOnlyTextBoxLineExtendedUnit" BasedOn="{StaticResource ErrProvErrorTemplateStyle}" />
<Style TargetType="local:TextBoxLine" BasedOn="{StaticResource ErrProvErrorTemplateStyle}" />
</ResourceDictionary>
和ReadOnlyTextBoxLineExtendedUnit
都在完全相同的目录中。在他们的.xaml.vb代码中没有指定名称空间。然而,VS似乎只发现了后两者。这怎么可能呢?
转换器也是如此。有些是公认的,同样不是。
这里非常重要的是对象浏览器找到所有这些对象。
也许重要的是要提到我有一个WinForms应用程序,我使用MS的兼容性工具慢慢转换为WPF。现在我完全改为WPF基础应用程序,并将托管一些剩余的WinForms。要执行此任务,我手动将所有文件重新导入到新应用程序(可能会有更好的解决方案......)。 所以我确信我的代码应该可行。它必须是一些VS废话...或者我不理解的新WPF主机的一些问题......
是的,我尝试了切换到x86 / x64的所有肮脏技巧。它解决了一些问题,但仍然存在。
祝福 Yatekii
答案 0 :(得分:1)
经过几个小时的努力,尝试重新启动,切换x86 / x64,清理项目等。我发现&#34; Clean&#34;你的Visual Studio项目并不意味着干净,而是&#34;删除你的exe&#34;。同样适用于重建。仅检查EXE。程序集,目标文件,自动生成的设计器文件,一切都停留在那里并且保持不变。
最后,删除obj和bin文件夹就像魅力一样。 没有语法错误,只是Visual Studio没有意识到这一点:)
答案 1 :(得分:0)
我遇到了同样的问题。我重新启动了Visual Studio。问题消失了。