在Visual Studio中,XAML设计未能加载

4

我试图在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
请发布您的*.xaml文件的完整标记以及*.xaml.cs文件的代码。 - jazb
表单包含一个名为 Omnia.PIE.VTA.Views.AccountHolderInfo 的控件,Visual Studio XAML 设计器试图初始化它,但在 UserControl_Loaded 中抛出异常。如果您拥有 AccountHolderInfo 的源代码,则可以对其进行调试。打开第二个 Visual Studio,转到“调试”菜单,然后选择“附加到进程”,搜索 devenv.exe 并选择它。然后打开“调试”>“窗口”>“异常设置”,并标记“常见语言运行时异常”。然后再次尝试打开 XAML 编辑器,第二个 Visual Studio 实例会中断并显示异常发生的位置。 - Misaz
1
请不要为与IDE本身无关的问题设置“visual-studio”标签。如果您不确定特定标签是否适用,请阅读标签描述。我已从您的问题中删除了此标签。 - dymanoid
3个回答

6

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

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

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


1
抱歉,如果我没有理解你的问题,请谅解。听起来你是在说设计师不工作,但运行是可以的。
如果是这样,Visual Studio在x64模式下运行呈现xaml的应用程序时会出现问题(称为xdescproc)。要解决这个问题,请尝试切换到x86。如果这样做有效,但你不想有x86作为选项,你可以尝试配置一个AnyCPU配置,它支持x64,但仍然允许x86(这意味着在设计模式下它显示x86,这将允许xdescproc运行)。

0
在我的情况下,我的项目的目标平台不知何故改变为 x64。我把它恢复到较旧的配置后,XAML 设计师又开始工作了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接