查找资源字典时发生错误

时间:2013-01-18 05:14:26

标签: wpf visual-studio-2012

我在App.xaml主程序集中有一个合并的资源字典,它结合了来自不同程序集的各种资源字典:Common和PresentationLayer。

<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="/Common;component/Themes/Button.xaml"/>
            <ResourceDictionary Source="/PresentationLayer;component/DataTemplates/AppointmentsDataTemplates.xaml"/>
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Application.Resources>

在运行时,资源字典中的样式将正确应用于控件。但是,在设计时不会应用样式,Visual Studio 2012会一直出现以下错误:

An error occurred while finding the resource dictionary "/Common;component/Themes/Button.xaml".

警告:

The resource "BannerButton" could not be resolved.

我遇到this post但问题仍然存在,尽管Build Action设置为Resource。此外,我在Visual Studio 2010或Expression Blend 4下运行时没有遇到此问题。主程序集肯定保存对Common程序集的引用,但我没有更改Pack URI。

6 个答案:

答案 0 :(得分:7)

这是Visual Studio 2012的已知问题。请参阅Microsoft Connect上的this link。安装VS2012 Update 1后,此问题已解决。如果您认为自己运行的是最新版本的VS2012并且仍然遇到此问题,请确保已应用更新。我以为我已经使用Windows Update进行了更新,但后来发现我必须告诉VS2012应用更新。在VS2012完成它之后一切都很好。

答案 1 :(得分:1)

在Window.Resources中尝试相同的操作,确保在使用app.xaml时添加了命名空间,并且不要忘记将构建选项更改为页面。使用该app.xaml。

答案 2 :(得分:1)

如果您使用的是Visual Studio 2017,请尝试重新启动计算机。问题可能会解决。

答案 3 :(得分:0)

对于VS2017,如果引用了程序集并再次检查所有命名都可以,请尝试关闭VS并删除解决方案目录中的.vs目录。这将导致您丢失所有用户设置(启动项目,WPF设计器缩放等),但将解决此问题。

答案 4 :(得分:0)

我遇到了同样的问题,原因是资源字典 xaml 文件中的单词拼写错误。检查资源字典 xaml 文件中是否存在拼写错误和错误。更正拼写后,它起作用了。

答案 5 :(得分:0)

我使用 VS2019 时出现此错误。

我只是重启VS,错误就消失了。