提问人:WSC 提问时间:5/29/2020 最后编辑:AShWSC 更新时间:3/6/2021 访问量:3882
MahApps.Metro IOException:找不到资源“styles/colors.xaml”
MahApps.Metro IOException: Cannot locate resource 'styles/colors.xaml'
问:
我已经使用 NuGet 的 MahApps.Metro 一段时间了,没有任何问题。但是,最近我遇到了一些需要重新安装 NuGet 包的问题。
最后,我卸载了所有我需要的 NuGet 包并重新安装了它们。据我所知,现在一切正常,除了当我尝试启动应用程序时,它会立即抛出上述异常:
System.Windows.Markup.XamlParseException: ''Set property 'System.Windows.ResourceDictionary.Source' threw an exception.' Line number '34' and line position '18'.'
Inner Exception
IOException: Cannot locate resource 'styles/colors.xaml'.
如果我检查那些指定的行,就是这个.<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Colors.xaml" />
我的 App.xaml 如下所示:
<Application.Resources>
<ResourceDictionary>
<!-- Some other stuff is here -->
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml" />
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Colors.xaml" />
<!-- Bunch of other stuff here -->
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
我从其他类似问题中尝试了各种方法:
- 将“颜色”更改为“颜色”
- 将“颜色”更改为“颜色”
- 将“颜色”更改为“颜色”
- 还原 NuGet 包
- 已卸载/重新安装软件包
- 尝试了 x86、x64 和 AnyCPU 目标平台
- 无穷无尽的清理/重建解决方案,中间关闭 VS2017
- 检查是否正确
StartupUri
- 确保并且是不同的(并且一直如此)
Assembly name
Default namespace
我完全不知道接下来要尝试什么......
答:
我没有尝试过的一件事是使用旧版本......是的,MahApps.Metro 的 2.0.0 版改变了主题的完成方式。使用版本 1.6.5 可以解决此问题,或者您需要按照此处的迁移指南进行操作:https://mahapps.com/docs/guides/migration-to-v2.0
由于您很可能使用了最新的 MahApps.Metro v2.0 包,因此您遇到了这些错误。正如您提到的,我们需要遵循官方的迁移到 v2.0 指南。以下步骤帮助我解决了这个问题,该问题可能会帮助本文中遇到类似问题的其他一些读者:NuGet
删除标签
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Colors.xaml" />
替换标签,例如
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/Green.xaml" /> <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/BaseLight.xaml" />`
跟
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Themes/Light.Green.xaml" />`
在标记中删除单词
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.AnimatedTabControl.xaml" />
Animated
如果有任何其他标签引发错误,请参阅上面的链接。我使用该链接解决了上述问题。
评论