我正在使用静态资源字典,它通过以下方式初始化:
static ResourceDictionary resource = new ResourceDictionary()
{
Source = new Uri(
"pack://application:,,,/CommonResources;component/ApplicationData.xaml")
};
该代码在过去几个月中一直运行良好,但在最近几天我开始遇到以下问题:
引发了“System.Xaml.XamlParseException”类型的异常。在 System.Windows.Baml2006.Baml2006Reader.ReadObject(KeyRecord record) 在 System.Windows.ResourceDictionary.CreateObject(KeyRecord key) 在 System.Windows.ResourceDictionary.RealizeDeferContent(Object key, Object& value, Boolean& canCache) 在 System.Windows.ResourceDictionary .GetValueWithoutLock(Object key, Boolean& canCache) at System.Windows.ResourceDictionary.GetValue(Object key, Boolean& canCache)
除了上述初始化之外,通过访问所需的项目从字典中读取数据:
if (resource.Contains(key))
{
return resource[key];
}
对代码的唯一修改可能与同时访问字典的多个线程有关。同样重要的是要提到相同的代码有时可以完美运行,有时会引发上述异常(非常不一致)。
我将不胜感激有关异常本身或一般问题的任何见解。