Подтвердить что ты не робот

XamlParseException при отладке приложения WPF с Visual Studio 2015

Я работаю над WPF-приложением, которое я использовал для отладки с VS 2012. Поскольку я переключился на Visual Studio 2015, я больше не могу его отлаживать. Во время выполнения я получаю System.Windows.Markup.XamlParseException и приложение аварийно завершает работу. Следует отметить, что скомпилированный исполняемый файл запускается правильно при запуске, дважды щелкнув по его значку. Я даже могу отладить его в VS 2015, присоединив процесс после его запуска.

В моем приложении я использую 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?

Спасибо!

4b9b3361

Ответ 1

Я отключил

Отладка | Общий | Включить инструменты отладки пользовательского интерфейса для XAML

и все снова заработало.

введите описание изображения здесь

Ответ 2

Вы можете проверить this

И используйте синтаксис pack:....

Оказывается, в наборе инструментов есть проблема, из-за которой все идет вразрез только с VS2015, но не с предыдущими версиями. Все еще нужно понимать различия между последними и предыдущими версиями VS, но по крайней мере этот патч работает.