it-swarm.com.de

System.Windows.Markup.XamlParseException

Ich habe eine WPF-Anwendung geschrieben, die auf meinem Computer läuft. Jetzt versuche ich, die Wpf-Anwendung auf einem W7-Computer bereitzustellen. Und folgende Ausnahme bekommen:

Description: The process was terminated due to an unhandled exception.
Exception Info: System.Windows.Markup.XamlParseException
Stack:
   at System.Windows.Markup.XamlReader.RewrapException(System.Exception, System.Xaml.IXamlLineInfo, System.Uri)
   at System.Windows.Markup.WpfXamlLoader.Load(System.Xaml.XamlReader, System.Xaml.IXamlObjectWriterFactory, Boolean, System.Object, System.Xaml.XamlObjectWriterSettings, System.Uri)
   at System.Windows.Markup.WpfXamlLoader.LoadBaml(System.Xaml.XamlReader, Boolean, System.Object, System.Xaml.Permissions.XamlAccessLevel, System.Uri)
   at System.Windows.Markup.XamlReader.LoadBaml(System.IO.Stream, System.Windows.Markup.ParserContext, System.Object, Boolean)
   at System.Windows.Application.LoadBamlStreamWithSyncInfo(System.IO.Stream, System.Windows.Markup.ParserContext)
   at System.Windows.Application.LoadComponent(System.Uri, Boolean)
   at System.Windows.Application.DoStartup()
   at System.Windows.Application.<.ctor>b__1(System.Object)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
   at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
   at System.Windows.Threading.DispatcherOperation.InvokeImpl()
   at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(System.Object)
   at System.Threading.ExecutionContext.runTryCode(System.Object)
   at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode, CleanupCode, System.Object)
   at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
   at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
   at System.Windows.Threading.DispatcherOperation.Invoke()
   at System.Windows.Threading.Dispatcher.ProcessQueue()
   at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
   at MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
   at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
   at System.Windows.Threading.Dispatcher.InvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)
   at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr)
   at MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef)
   at System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame)
   at System.Windows.Threading.Dispatcher.PushFrame(System.Windows.Threading.DispatcherFrame)
   at System.Windows.Threading.Dispatcher.Run()
   at System.Windows.Application.RunDispatcher(System.Object)
   at System.Windows.Application.RunInternal(System.Windows.Window)
   at System.Windows.Application.Run(System.Windows.Window)
   at System.Windows.Application.Run()
   at CAMXSimulator.App.Main()

Irgendeine Idee, was ist hier falsch? 

Vielen Dank 

18
user838557

Diese Art von Ausnahme tritt häufig auf, wenn ein Teil Ihres Hauptfenster-Konstruktors oder Ladeoperationen fehlschlägt. Wenn Sie die Stack-Spur in die Finger bekommen, schauen Sie sich die innere Ausnahme an und Sie werden wahrscheinlich das eigentliche Problem finden.

9
A.R.

Ich hatte dieses Problem, weil ich im Anwendungskonstruktor ein Formular angezeigt habe. Dieses Formular verwendete Style = "{StaticResource XYZ}". Diese statische Ressource wurde in der XAML-Datei der Anwendung definiert.

Ich habe das Problem gelöst, indem das Formular zu einem späteren Zeitpunkt in der Anwendung angezeigt wurde, als das Anwendungsobjekt vollständig erstellt wurde.

5
krosenvold

Ich hatte den gleichen Ausnahmebericht. Ich könnte es mit dem Programm windbg lösen.

  • laden Sie die Version windbg x86 (nicht x64) herunter.
  • Öffnen Sie die EXE-Datei der App darin (Menü Datei -> Exe öffnen.)
  • führen Sie diese Befehle aus, um die echte Ausnahme zu sehen:

Nach der Analyse stellte ich fest, dass die System.Net.Http.Formatting-Assembly im System fehlte.

0:000> g
0:000> sxe clr
0:000> g
0:000> !loadby sos clr
0:000> !CLRStack
0:000> !PrintException

Exception type: System.IO.FileNotFoundException
Message: Could not load file or Assembly 'System.Net.Http.Formatting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
    InnerException: <none>
3
VahidN

Stellen Sie sicher, dass Sie in der korrekten Architektur x86 oder x64 erstellt sind, wenn Sie auf dem Zielcomputer ausführen. Ich stehe vor dem gleichen Problem, die App konnte auf meinem Thumbdrive FAT32 laufen, schlug jedoch auf einem anderen Rechner mit Windows 7 - 32bit fehl (ich weiß, dass Windows 7 mit 32bit ziemlich seltsam ist), siehe http: //social.msdn .Microsoft.com/Forums/vstudio/de-de/8f803f28-dfda-4be5-9e8d-f7d82db95961/c-wpf-systemwindowsmarkupxamlparseexception? Forum = wpf

0
yancyn

Bei der Installation einer ClickOnce-App auf einem sauberen Computer ist mir ein ähnliches Verhalten aufgefallen. Ich habe das Problem gelöst, indem ich die Anforderungen der App für die Installation von .Net 4 und .Net 3.5 voll eingestellt habe.

Es war nicht mehr passiert.

0
Mario Vernari

das einzige, was mir einfällt, ist, ob beide Boxen dieselbe .NET-Version haben. NET 4 hat einige neue Funktionen (bezüglich XAML-Parser), die 3.5 SP1 nicht hat

0
Bek Raupov