我在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。
答案 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,错误就消失了。