我一直使用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>
我尝试了其他类似问题中提到的各种方法:
- 将“Colors”更改为“Colours”
- 将“Colors”更改为“colors”
- 将“Colors”更改为“colours”
- 恢复NuGet包
- 卸载/重新安装包
- 尝试使用x86、x64和AnyCPU目标平台
- 无数次地清理/重建解决方案,期间关闭VS2017
- 检查
StartupUri
是否正确 - 确保
Assembly name
和Default namespace
不同(并且始终如此)
我完全不知道下一步该怎么办了...