XAML 设计未在 visual studio 中加载
XAML design not loading in visual studio
我试图在 visual studio 中加载 xaml 文件,但它抛出异常,但是当我 运行 应用程序时,设计和所有功能都非常好。例外情况如下:
InvalidCastException: Unable to cast object of type 'System.Windows.Application' to type 'Omnia.PIE.VTA.App'.
at Omnia.PIE.VTA.MainWindow.get_Instance()
at Omnia.PIE.VTA.Views.AccountHolderInfo.UserControl_Loaded(Object sender, RoutedEventArgs e)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)
at System.Windows.BroadcastEventHelper.BroadcastEvent(DependencyObject root, RoutedEvent routedEvent)
at System.Windows.BroadcastEventHelper.BroadcastLoadedEvent(Object root)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
提前抱歉,我是 visual studio 的初学者,花了几个小时后我仍然无法解决它。
我能够解决这个问题。它与项目缓存有关。我按照以下步骤解决了它:
- 关闭Visual Studio
- 删除了 .vs、bin 和 obj 文件
- 启动 VS 并清理项目
- 重建项目
完成这些步骤后,我能够打开所有 .xaml 文件。
如果我不明白你的问题,我很抱歉。听起来你是在说设计师没有工作,但 运行宁是。
如果是这种情况,Visual studio 在 x64 模式下 运行 设置呈现您的 xaml(我相信称为 xdescproc)的应用程序会遇到问题。要解决此问题,请尝试切换到 x86。如果可行但您不想将 x86 作为一个选项,您可以尝试配置一个有利于 x64 的 AnyCPU 配置,但仍然允许 x86(这意味着在设计模式下它显示 x86,这将允许 xdescproc 运行).
在我的例子中,不知何故我的项目的目标平台已更改为 x64
。我将其恢复为旧配置,之后 XAML 设计师再次开始工作。
我试图在 visual studio 中加载 xaml 文件,但它抛出异常,但是当我 运行 应用程序时,设计和所有功能都非常好。例外情况如下:
InvalidCastException: Unable to cast object of type 'System.Windows.Application' to type 'Omnia.PIE.VTA.App'.
at Omnia.PIE.VTA.MainWindow.get_Instance()
at Omnia.PIE.VTA.Views.AccountHolderInfo.UserControl_Loaded(Object sender, RoutedEventArgs e)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)
at System.Windows.BroadcastEventHelper.BroadcastEvent(DependencyObject root, RoutedEvent routedEvent)
at System.Windows.BroadcastEventHelper.BroadcastLoadedEvent(Object root)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
提前抱歉,我是 visual studio 的初学者,花了几个小时后我仍然无法解决它。
我能够解决这个问题。它与项目缓存有关。我按照以下步骤解决了它:
- 关闭Visual Studio
- 删除了 .vs、bin 和 obj 文件
- 启动 VS 并清理项目
- 重建项目
完成这些步骤后,我能够打开所有 .xaml 文件。
如果我不明白你的问题,我很抱歉。听起来你是在说设计师没有工作,但 运行宁是。
如果是这种情况,Visual studio 在 x64 模式下 运行 设置呈现您的 xaml(我相信称为 xdescproc)的应用程序会遇到问题。要解决此问题,请尝试切换到 x86。如果可行但您不想将 x86 作为一个选项,您可以尝试配置一个有利于 x64 的 AnyCPU 配置,但仍然允许 x86(这意味着在设计模式下它显示 x86,这将允许 xdescproc 运行).
在我的例子中,不知何故我的项目的目标平台已更改为 x64
。我将其恢复为旧配置,之后 XAML 设计师再次开始工作。