VSCode调试WinUI 3应用触发Microsoft.UI.Xaml.Markup.XamlParseException如何解决?
WinUI3项目在VSCode调试时XamlParseException问题的原因与解决方法
可能原因
- VSCode调试配置未正确指向WinUI3项目的输出路径,导致调试时找不到编译后的XAML资源文件。
- VSCode的.NET调试插件版本不兼容,未正确加载WinUI3调试支持组件。
- VSCode中项目生成配置未设为Debug模式,或生成输出目录与调试路径不匹配。
解决步骤
1. 修正VSCode的launch.json配置
打开项目根目录下的.vscode/launch.json,确保配置正确指向WinUI3项目的可执行文件:
{ "version": "0.2.0", "configurations": [ { "name": "Debug WinUI3 App", "type": "coreclr", "request": "launch", "program": "${workspaceFolder}/MyApp/bin/Debug/net6.0-windows10.0.19041.0/win10-x64/MyApp.exe", "args": [], "cwd": "${workspaceFolder}/MyApp", "stopAtEntry": false, "env": { "DOTNET_ENVIRONMENT": "Development" }, "sourceFileMap": { "/Views": "${workspaceFolder}/MyApp/Views" } } ] }
替换MyApp为你的项目名称,同时确认.net版本和Windows SDK版本与项目文件一致。
2. 先完成Debug编译再调试
在VSCode中按Ctrl+Shift+B,选择对应的Debug生成任务完成编译,再启动调试,避免因未编译导致资源缺失。
3. 更新.NET调试插件
打开VSCode扩展面板,找到C# Dev Kit和Debugger for .NET插件,更新到最新版本,确保插件支持WinUI3调试场景。
4. 检查项目文件生成配置
打开项目的.csproj文件,确认以下配置存在且正确:
<PropertyGroup> <OutputType>WinExe</OutputType> <TargetFramework>net6.0-windows10.0.19041.0</TargetFramework> <TargetPlatformMinVersion>10.0.17763.0</TargetPlatformMinVersion> <UseWinUI>true</UseWinUI> <Platforms>x64;x86;ARM64</Platforms> </PropertyGroup>
确保调试时选择的平台(如x64)与项目配置一致。
5. 清理并重建项目
执行以下命令清理缓存后重新编译:
dotnet clean MyApp\MyApp.csproj dotnet build MyApp\MyApp.csproj --configuration Debug
完成后再尝试在VSCode中启动调试。
内容的提问来源于stack exchange,提问作者Leo Orientis
相关产品推荐
相关产品推荐

