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 的初学者,花了几个小时后我仍然无法解决它。

我能够解决这个问题。它与项目缓存有关。我按照以下步骤解决了它:

  1. 关闭Visual Studio
  2. 删除了 .vs、bin 和 obj 文件
  3. 启动 VS 并清理项目
  4. 重建项目

完成这些步骤后,我能够打开所有 .xaml 文件。

如果我不明白你的问题,我很抱歉。听起来你是在说设计师没有工作,但 运行宁是。

如果是这种情况,Visual studio 在 x64 模式下 运行 设置呈现您的 xaml(我相信称为 xdescproc)的应用程序会遇到问题。要解决此问题,请尝试切换到 x86。如果可行但您不想将 x86 作为一个选项,您可以尝试配置一个有利于 x64 的 AnyCPU 配置,但仍然允许 x86(这意味着在设计模式下它显示 x86,这将允许 xdescproc 运行).

在我的例子中,不知何故我的项目的目标平台已更改为 x64。我将其恢复为旧配置,之后 XAML 设计师再次开始工作。