VS2015中Windows Phone 8.1空白应用XAML设计器异常求助
Hey there, sorry to hear you've been stuck with this frustrating XAML Designer issue for two weeks—especially since other app types work fine in Visual Studio 2015. Let's break down the solutions tailored to your specific problem with Windows Phone 8.1 non-Silverlight blank apps:
Step 1: Reset Visual Studio 2015's Designer Components
Sometimes cached settings or broken add-ins can mess with the XAML Designer. Let's reset VS to a clean state:
- Close all instances of Visual Studio.
- Open an Administrator Command Prompt and run these commands one by one:
devenv /ResetSkipPkgs devenv /InstallVSTemplates devenv /ResetSettings - Restart Visual Studio and try opening your project's XAML designer again.
Step 2: Repair Windows Phone 8.1 SDK Components
Your error stack points to Windows Phone-specific designer objects like StatusBarStandIn, which suggests a corrupted or missing SDK component:
- Open Control Panel > Programs and Features, find Microsoft Visual Studio 2015 and click Change.
- Select Modify in the installer window. Expand Windows and Web Development and make sure Windows Phone 8.1 SDK (and all its sub-components) are checked.
- If any components are missing or marked as corrupted, tick them and click Update to repair the installation.
Step 3: Force XDesProc.exe to Run with Admin Rights
Since the XDesProc.exe process isn't starting at all, let's ensure it has the necessary permissions:
- Locate XDesProc.exe at this path (adjust if you installed VS to a different directory):
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\XDesProc.exe - Right-click the file, select Properties > Compatibility, then check Run this program as an administrator.
- Click Apply, then restart Visual Studio. Try opening the XAML designer again—this should force the process to launch with sufficient privileges.
Step 4: Clean Project Cache and Build Files
Old build artifacts can interfere with the designer's ability to parse XAML:
- Close Visual Studio, then delete the
binandobjfolders from your project directory. - Open VS, go to Tools > Options > Projects and Solutions > Build and Run, and check Clean output directory on run.
- Rebuild your project from scratch (Build > Rebuild Solution) before opening the designer.
Step 5: Verify Default XAML Template Content
If your project's XAML has custom modifications, it might be causing the parse error. Compare it to a fresh WP8.1 non-Silverlight blank app's default MainPage.xaml:
<Page x:Class="YourAppName.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="using:YourAppName" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d"> <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> </Grid> </Page>
If your XAML has extra namespaces or controls, try reverting to this default code to see if the designer loads.
Full Error Stack Reference
Windows.UI.Xaml.Markup.XamlParseException XAML parsing failed. at Windows.UI.Xaml.Application.LoadComponent(Object component, Uri resourceLocator) at Microsoft.VisualStudio.DesignTools.WindowsPhoneXamlDesigner.InstanceBuilders.StatusBarStandIn..ctor() at Microsoft.VisualStudio.DesignTools.WindowsPhoneXamlDesigner.InstanceBuilders.WindowsXamlPhoneOverlayLayer..ctor() at Microsoft.VisualStudio.DesignTools.WindowsXamlDesigner.Views.WindowsXamlPhoneImageHost.WindowsXamlPhoneSceneWrapper.CreateOverlayLayer() at Microsoft.VisualStudio.DesignTools.WindowsXamlDesigner.Views.WindowsUIXamlImageHost.WindowsXamlSceneWrapper..ctor() at Microsoft.VisualStudio.DesignTools.WindowsXamlDesigner.Views.WindowsXamlPhoneImageHost.CreateSceneWrapper() at Microsoft.VisualStudio.DesignTools.WindowsXamlDesigner.Views.WindowsUIXamlImageHost.get_RootInstanceWrapper() at Microsoft.VisualStudio.DesignTools.WindowsXamlDesigner.Views.WindowsUIXamlImageHost.get_OverlayLayer() at Microsoft.VisualStudio.DesignTools.WindowsXamlDesigner.Views.WindowsXamlSceneView.get_OverlayLayer() at Microsoft.VisualStudio.DesignTools.WindowsPhoneXamlDesigner.UI.PlatformPane.WindowsXamlPhonePlatformPaneModel.UpdateStatusBarVisibility() at Microsoft.VisualStudio.DesignTools.Designer.UI.PlatformPane.PlatformPaneModel.set_SceneViewContract(SceneViewContract value) at Microsoft.VisualStudio.DesignTools.WindowsXamlDesigner.UI.PlatformPane.WindowsUIXamlPlatformPaneModel.UpdateContract() at Microsoft.VisualStudio.DesignTools.WindowsXamlDesigner.UI.PlatformPane.WindowsUIXamlPlatformPaneModel.OnSubscriptionBasisNodeInserted(SceneNode newBasisNode, DocumentNode basisContent) at Microsoft.VisualStudio.DesignTools.Designer.UI.PlatformPane.PlatformPaneModel.Subscription_BasisNodeInserted(Object sender, SceneNode newBasisNode, DocumentNode basisContent) at Microsoft.VisualStudio.DesignTools.Designer.ViewModel.SceneNodeSubscription`2.OnBasisNodeInserted(BasisNodeHolder holder) at Microsoft.VisualStudio.DesignTools.Designer.ViewModel.SceneNodeSubscription`2.SetBasisNodesWorker(SceneViewModel viewModel, DocumentNodeMarkerSortedListOf`1 newBasisNodeList) at Microsoft.VisualStudio.DesignTools.Designer.ViewModel.SceneNodeSubscription`2.SetBasisNodes(SceneViewModel viewModel, IEnumerable`1 basisNodes) at Microsoft.VisualStudio.DesignTools.Designer.UI.PlatformPane.PlatformPaneModel.set_ActiveView(IDeviceOptionsView value) at Microsoft.VisualStudio.DesignTools.Designer.UI.PlatformPane.PlatformPaneService.GetModel(SceneView sceneView, Boolean setActiveView) at Microsoft.VisualStudio.DesignTools.Designer.UI.PlatformPane.PlatformPaneService.UpdateActiveModel(SceneView view) at Microsoft.VisualStudio.DesignTools.Designer.UI.PlatformPane.PlatformPaneService.DocumentViewContext_ActiveViewChanged(Object sender, ViewChangedEventArgs e) at System.EventHandler`1.Invoke(Object sender, TEventArgs e) at Microsoft.VisualStudio.DesignTools.Designer.DocumentViewContext.OnActiveViewChanged(ViewChangedEventArgs e) at Microsoft.VisualStudio.DesignTools.Designer.DocumentViewContext.SetActiveDocumentAndView(SceneView view, Item item, HostViewEventArgs e) at Microsoft.VisualStudio.DesignTools.Designer.DocumentViewContext.SetActiveView(SceneView view, HostViewEventArgs e) at Microsoft.VisualStudio.DesignTools.Designer.DocumentViewContext.CreateAndOpenViewInternal(SceneDocument document, CancellationToken cancelToken, Boolean activate, Boolean ensureOpenInHost) at Microsoft.VisualStudio.DesignTools.Designer.DesignerService.CreateDesigner(IHostSourceItem item, IHostTextEditor editor, CancellationToken cancelToken) at Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.Remoting.RemoteDesignerService.<>c__DisplayClass12_0.<Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.Remoting.IRemoteDesignerService.CreateDesigner>b__0(CancellationToken cancelToken) at Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.Remoting.RemoteDesignerService.<>c__DisplayClass6_0`1.<MarshalInWithCancellation>b__0() at Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.Remoting.STAMarshaler.Call.InvokeWorker() >Windows.UI.Xaml.Markup.XamlParseException XAML parsing failed. >Server stack trace: at Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.Remoting.STAMarshaler.WaitForCompletion(NestedCallContext nestedCallContext, BlockingCall call, WaitHandle timeoutSignal) at Microsoft.VisualStudio.DesignToo
内容的提问来源于stack exchange,提问作者Fulvio

