MahApps.Metro IOException:无法找到资源“styles/colors.xaml”

WSC*_*WSC 6 wpf xaml mahapps.metro

我已经使用 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'.
Run Code Online (Sandbox Code Playgroud)

如果我检查那些指定的行,那就是 this <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Colors.xaml" />

我的 App.xaml 如下所示:

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'.
Run Code Online (Sandbox Code Playgroud)

我从其他类似的问题中尝试了各种方法:

  • 将“颜色”更改为“颜色”
  • 将“颜色”更改为“颜色”
  • 将“颜色”更改为“颜色”
  • 恢复 NuGet 包
  • 卸载/重新安装的软件包
  • 尝试过 x86、x64 和 AnyCPU 目标平台
  • 无数的清理/重建解决方案,中间关闭 VS2017
  • 核对StartupUri无误
  • 确保Assembly name并且Default namespace与众不同(并且一直如此)

我完全不知道接下来要做什么......

nam*_*nam 11

由于您很可能使用了最新的NuGetMahApps.Metro v2.0 软件包,因此您收到了这些错误。正如您提到的,我们需要遵循官方迁移到 v2.0指南。以下步骤帮助我解决了这个问题,这可能会帮助这篇文章的其他遇到类似问题的读者:

  1. 删除标签<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Colors.xaml" />

  2. 替换标签,例如

    <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/Green.xaml" />
    <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/BaseLight.xaml" />`
    
    Run Code Online (Sandbox Code Playgroud)

    <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Themes/Light.Green.xaml" />`
    
    Run Code Online (Sandbox Code Playgroud)
  3. 在标签中<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.AnimatedTabControl.xaml" />删除这个词Animated

如果还有其他标签出现错误,请参考上面的链接。我使用该链接来解决上述问题。


WSC*_*WSC 4

我没有尝试过的一件事是使用旧版本...是的,MahApps.Metro 的 2.0.0 版改变了主题的完成方式。使用版本 1.6.5 可以解决此问题,或者您需要遵循此处的迁移指南: https: //mahapps.com/docs/guides/migration-to-v2.0