2011-11-21 79 views
1

我有一個WPF應用程序,它在vista/7上運行得非常好,但在Windows XP上,它會調整System.Windows.Markup.XamlParse錯誤。WPF:在XP上安裝WPF應用程序時發生XamlParseException

我使用Visual Studio 2010和.NET 4.0,Telerik的2011年第二季度控件和控制DevExpress的2011年

詳細介紹例外:

Application: CVServer.exe 
Framework Version: v4.0.30319 
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 Procesta.CvServer.App.Main() 

更新1:

我申請從造型靜態資源文件

更新2:

<ResourceDictionary 
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
xmlns:System="clr-namespace:System;assembly=mscorlib"> 
<!-- Resource dictionary entries should be defined here. --> 
<RadialGradientBrush x:Key="Background" GradientOrigin="-0.01,1.01" RadiusY="0.52"> 
    <GradientStop Color="#FF62BAFB"/> 
    <GradientStop Color="#FF0070DA" Offset="0.479"/> 
    <GradientStop Color="#FF00499F" Offset="1"/> 
</RadialGradientBrush> 
<FontFamily x:Key="ButtonFontFamily">Segoe UI</FontFamily> 

<SolidColorBrush x:Key="TextBlockForeground" Color="Black"/> 
<System:Double x:Key="ButtonFontSize">13.333</System:Double> 
<System:Double x:Key="TextFontSize">14.667</System:Double> 
<LinearGradientBrush x:Key="TextBoxBackground" EndPoint="0.5,1" StartPoint="0.5,0"> 
    <GradientStop Color="#FFD0D8E8" Offset="0.006"/> 
    <GradientStop Color="#FFE5E9F1" Offset="0.124"/> 
    <GradientStop Color="#FFFEFEFE" Offset="0.972"/> 
</LinearGradientBrush> 
<SolidColorBrush x:Key="ImageButtonForeground" Color="Black"/> 
<SolidColorBrush x:Key="ImageButtonToolTipBorder" Color="#FFA30909"/> 
<SolidColorBrush x:Key="ImageButtonToolTipBackground" Color="#A18C8C93"/> 
<System:Double x:Key="ImageButtonFontSize">16</System:Double> 
<FontFamily x:Key="ImageButtonFontFamily">Adobe Kaiti Std R</FontFamily>  
</ResourceDictionary> 

如果將這些資源這樣

Background="{DynamicResource Background}" 
+0

http://stackoverflow.com/questions/6046177/xamlparseexception-in-wpf-application-but-only-on-when-installed-on-xp(設置PresentationFramework.Aero複製本地) – Jeff

+0

的XAML碼?將其重新標記爲什麼標籤導致它。另外 - 是否有內部異常?你會得到一個重新包裝異常,但不會顯示可能是XamlParseException內部錯誤的原始內容。 – TomTom

+0

您可以將ResourceDictionary.MergedDictionaries粘貼到應用樣式的位置嗎? – Simon

回答

0

可能出現的問題可以的Segoe UI字體的使用。這種字體不隨XP一起安裝。

<FontFamily x:Key="ButtonFontFamily">Segoe UI</FontFamily> 
+0

我是安裝字體,但問題沒有解決。 – Vero009

+0

我解決了我的問題。它發生在Background =「{DynamicResource Background}」上。我改變了一些靜態資源。謝謝大家 – Vero009

相關問題