2015-09-18 154 views
10

我正在使用VS 2012進行調試的WPF應用程序。 由於我切換到Visual Studio 2015,因此無法再調試它。在運行時,我得到System.Windows.Markup.XamlParseException和應用程序崩潰。 需要注意的是編譯好的可執行文件在雙擊圖標啓動時運行正確。我甚至可以在VS 2015中通​​過在啓動後附加進程來調試它。XamlParseException在使用Visual Studio 2015調試WPF應用程序時

在我的應用程序中,我使用了xceed.wpf.toolkit。

唯一的例外是:

System.Windows.Markup.XamlParseException occurred 
    HResult=-2146233087 
    LineNumber=58 
    LinePosition=15 
    Message='Initialization of 'Xceed.Wpf.Toolkit.BusyIndicator' threw an exception.' Line number '58' and line position '15'. 
    Source=PresentationFramework 
    StackTrace: 
     at System.Windows.Markup.XamlReader.RewrapException(Exception e, IXamlLineInfo lineInfo, Uri baseUri) 
     at System.Windows.Markup.WpfXamlLoader.Load(XamlReader xamlReader, IXamlObjectWriterFactory writerFactory, Boolean skipJournaledProperties, Object rootObject, XamlObjectWriterSettings settings, Uri baseUri) 
     at System.Windows.Markup.WpfXamlLoader.LoadBaml(XamlReader xamlReader, Boolean skipJournaledProperties, Object rootObject, XamlAccessLevel accessLevel, Uri baseUri) 
     at System.Windows.Markup.XamlReader.LoadBaml(Stream stream, ParserContext parserContext, Object parent, Boolean closeStream) 
     at [...].InitializeComponent() 
    InnerException: 
     HResult=-2146233088 
     LineNumber=0 
     LinePosition=0 
     Message=Initialization of 'Xceed.Wpf.Toolkit.Core.VersionResourceDictionary' threw an exception. 
     Source=System.Xaml 
     StackTrace: 
      at MS.Internal.Xaml.Runtime.ClrObjectRuntime.InitializationGuard(XamlType xamlType, Object obj, Boolean begin) 
      at System.Xaml.XamlObjectWriter.Logic_EndInit(ObjectWriterContext ctx) 
      at System.Xaml.XamlObjectWriter.WriteEndObject() 
      at System.Xaml.XamlServices.Transform(XamlReader xamlReader, XamlWriter xamlWriter, Boolean closeWriter) 
      at System.Windows.SystemResources.ResourceDictionaries.LoadDictionary(Assembly assembly, String assemblyName, String resourceName, Boolean isTraceEnabled) 
      at System.Windows.SystemResources.ResourceDictionaries.LoadThemedDictionary(Boolean isTraceEnabled) 
      at System.Windows.SystemResources.FindDictionaryResource(Object key, Type typeKey, ResourceKey resourceKey, Boolean isTraceEnabled, Boolean allowDeferredResourceReference, Boolean mustReturnDeferredResourceReference, Boolean& canCache) 
      at System.Windows.SystemResources.FindResourceInternal(Object key, Boolean allowDeferredResourceReference, Boolean mustReturnDeferredResourceReference) 
      at System.Windows.StyleHelper.GetThemeStyle(FrameworkElement fe, FrameworkContentElement fce) 
      at System.Windows.FrameworkElement.UpdateThemeStyleProperty() 
      at System.Windows.FrameworkElement.OnInitialized(EventArgs e) 
      at System.Windows.FrameworkElement.TryFireInitialized() 
      at MS.Internal.Xaml.Runtime.ClrObjectRuntime.InitializationGuard(XamlType xamlType, Object obj, Boolean begin) 
     InnerException: 
      HResult=-2146232800 
      Message=Cannot locate resource 'xceed.wpf.toolkit;v2.1.0.0;themes/xceed.wpf.toolkit;v2.1.0.0;component/themes/aero/brushes_normalcolor.xaml'. 
      Source=PresentationFramework 
      StackTrace: 
       at MS.Internal.AppModel.ResourcePart.GetStreamCore(FileMode mode, FileAccess access) 
       at System.IO.Packaging.PackagePart.GetStream(FileMode mode, FileAccess access) 
       at System.IO.Packaging.PackWebResponse.CachedResponse.GetResponseStream() 
       at System.IO.Packaging.PackWebResponse.get_ContentType() 
       at MS.Internal.WpfWebRequestHelper.GetContentType(WebResponse response) 
       at MS.Internal.WpfWebRequestHelper.GetResponseStream(WebRequest request, ContentType& contentType) 
       at System.Windows.ResourceDictionary.set_Source(Uri value) 
       at Xceed.Wpf.Toolkit.Core.VersionResourceDictionary.System.ComponentModel.ISupportInitialize.EndInit() 
       at MS.Internal.Xaml.Runtime.ClrObjectRuntime.InitializationGuard(XamlType xamlType, Object obj, Boolean begin) 
      InnerException: 

還要注意的是所涉及的組件,Xceed.Wpf.Toolkit.dll(在正確的版本,v2.1.0.0),存在於輸出目錄,只是接近應用程序的編譯可執行文件。

任何建議使應用程序使用VS 2015集成調試器工作?

謝謝!

+0

注意:我用ILSpy打開了xceed.wpf.toolkit.dll組件,我可以確認它包含了rource'xceed.wpf.toolkit; v2.1.0.0; themes/xceed.wpf.toolkit; v2 .1.0.0; component/themes/aero/brushes_normalcolor.xaml' –

回答

13

我禁用了

調試|一般|爲XAML啓用UI調試工具

選項和一切開始再次工作。

enter image description here

+0

也許這篇文章可能很有用:http://blogs.msdn.com/b/visualstudio/archive/2015/02/24/introducing-the-ui -debugging-tools-for-xaml.aspx –

+0

我有這個問題,並且此修補程序正在爲我工​​作。謝啦 ! – shanmugharaj

0

您可能要檢查this

,並使用pack:...語法。

原因是工具包中存在一個問題,這隻會使VS2015出問題,而不能用於以前的版本。 仍然必須瞭解VS的最新版本和以前的版本之間的差異,但至少這個補丁的作品。

相關問題