我遇到了Silverlight应用程序的问题。它一直在工作,我没有改变代码,但我改变了一些其他的东西,如升级到VS2012。我认为升级后的项目一切都很顺利,但现在遇到了麻烦。
当应用程序启动时,它会在InitializeComponent调用期间抛出异常。看起来问题出在ResourceDictionary上,特别是我在内部异常中注意到了这一点:
InnerException:System.Collections.Generic.KeyNotFoundException
这让我觉得它正在尝试设置一个属性,但却找不到它在ResourceDictionary中寻找的密钥。我一直在试图发现如何确定它正在寻找什么样的钥匙,我是否一直在试着用这种方法建议调试技术?
例外的全部细节是:
System.Windows.Markup.XamlParseException发生Message = Set 属性'System.Windows.FrameworkElement.Style'引发了异常。 [Line:228 Position:64] LineNumber = 228 LinePosition = 64
堆栈跟踪: 在System.Windows.Application.LoadComponent(对象组件,Uri resourceLocator) at MyApp.Silverlight.MainPage.InitializeComponent() at MyApp.Silverlight.MainPage..ctor()InnerException:System.Windows.Markup.XamlParseException Message =无法分配给属性'System.Windows.ResourceDictionary.Source'。 [线路:5位置:36] LineNumber上= 5 LinePosition = 36 堆栈跟踪: 在MS.Internal.XcpImports.CreateFromXaml(UnmanagedMemoryStream流, String sourceAssemblyName,Boolean createNamescope,Boolean requireDefaultNamespace,Boolean allowEventHandlers,String xamlResourceUriString,Boolean isBinaryContent) 在System.Windows.Controls.Control.GetBuiltInStyle(IntPtr nativeTarget,IntPtr& nativeStyle) InnerException:System.Collections.Generic.KeyNotFoundException 消息=字典中没有给定的键。 堆栈跟踪: 在System.Collections.Generic.Dictionary`2.get_Item(TKey key) 在System.Windows.ResourceManagerWrapper.GetResourceForUri(Uri xamlUri, 输入componentType) 的InnerException:
非常感谢阅读,如果您有任何建议,我将非常感激。