<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Desktop | The .NET Blog</title><link>https://thedotnetblog.com/zh/tags/desktop/</link><description>Articles, tutorials and insights from the .NET community.</description><generator>Hugo</generator><language>zh</language><managingEditor>@thedotnetblog (The .NET Blog)</managingEditor><webMaster>@thedotnetblog</webMaster><lastBuildDate>Tue, 05 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://thedotnetblog.com/zh/tags/desktop/index.xml" rel="self" type="application/rss+xml"/><item><title>WinApp VS Code扩展：无需离开编辑器即可运行、调试和打包Windows应用</title><link>https://thedotnetblog.com/zh/news/emiliano-montesdeoca/winapp-vscode-extension-run-debug-windows-apps/</link><pubDate>Tue, 05 May 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/zh/news/emiliano-montesdeoca/winapp-vscode-extension-run-debug-windows-apps/</guid><description>WinApp VS Code扩展将完整的Windows应用开发CLI直接带入VS Code——无需Visual Studio即可运行、使用包标识调试、打包和签名Windows应用（WPF、WinUI、.NET、C++）。</description><content:encoded>&lt;p&gt;&lt;em&gt;本文已自动翻译。要查看原始版本，请&lt;a href="https://thedotnetblog.com/zh/news/emiliano-montesdeoca/winapp-vscode-extension-run-debug-windows-apps/"&gt;点击此处&lt;/a&gt;。&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;如果你曾经尝试过在VS Code中开发Windows应用，你一定熟悉那个时刻。你正在流畅地编写代码，在喜欢的编辑器里工作——突然需要为某个Windows API获取包标识。或者需要创建MSIX。或者需要签名一个包。于是你不得不打开Visual Studio，或者在深夜搜索&amp;quot;msix packaging without visual studio&amp;quot;。&lt;/p&gt;
&lt;p&gt;这种摩擦现在消失了。&lt;a href="https://marketplace.visualstudio.com/items?itemName=Microsoft-WinAppCLI.winapp"&gt;WinApp VS Code扩展&lt;/a&gt;进入了公开预览——它将完整的&lt;a href="https://github.com/microsoft/WinAppCli"&gt;Windows应用开发CLI&lt;/a&gt;直接集成到VS Code中。无需单独安装，无需Visual Studio。&lt;/p&gt;
&lt;h2 id="f5启动获得包标识"&gt;F5启动获得包标识&lt;/h2&gt;
&lt;p&gt;Windows API的问题在于——通知、后台任务、设备端AI功能、共享目标——许多都要求应用具有&lt;strong&gt;包标识&lt;/strong&gt;。没有它，这些API根本无法工作。&lt;/p&gt;
&lt;p&gt;传统上，获取包标识意味着构建完整的MSIX安装程序或从Visual Studio启动。WinApp扩展通过自定义&lt;code&gt;winapp&lt;/code&gt;调试类型彻底改变了这一点。&lt;/p&gt;
&lt;p&gt;在&lt;code&gt;launch.json&lt;/code&gt;中添加以下配置：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;version&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;0.2.0&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;configurations&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;winapp&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;request&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;launch&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;WinApp: Launch and Attach&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;按F5。扩展会找到你的构建输出和清单，通过&lt;code&gt;winapp run&lt;/code&gt;为应用赋予包标识，并附加调试器。.NET应用使用&lt;code&gt;coreclr&lt;/code&gt;（需要C# Dev Kit），C/C++使用&lt;code&gt;cppvsdbg&lt;/code&gt;，Node/Electron使用内置调试器。&lt;/p&gt;
&lt;p&gt;你可以配置&lt;code&gt;preLaunchTask&lt;/code&gt;，让项目在每次按F5之前自动构建——与Visual Studio的构建并启动流程相同，只是在VS Code中。&lt;/p&gt;
&lt;h2 id="命令面板中的完整工具集"&gt;命令面板中的完整工具集&lt;/h2&gt;
&lt;p&gt;打开&lt;code&gt;Ctrl+Shift+P&lt;/code&gt;，输入&lt;code&gt;WinApp&lt;/code&gt;，即可获得完整的工具集：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Initialize Project&lt;/strong&gt; — 使用Windows SDK和/或Windows App SDK配置项目&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Run Application&lt;/strong&gt; — 以具有包标识的松散布局打包应用启动&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Create MSIX Package&lt;/strong&gt; — 使用证书和运行时选项打包应用&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Update Manifest Assets&lt;/strong&gt; — 从单个源图像自动生成所有必需的应用图标&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Generate / Install Certificate&lt;/strong&gt; — 开发证书管理&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sign Package&lt;/strong&gt; — 签名MSIX或可执行文件&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Run SDK Tool&lt;/strong&gt; — 直接运行&lt;code&gt;makeappx&lt;/code&gt;、&lt;code&gt;signtool&lt;/code&gt;、&lt;code&gt;mt&lt;/code&gt;或&lt;code&gt;makepri&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;也不需要安装WinApp CLI。它已捆绑在扩展中。&lt;/p&gt;
&lt;h2 id="支持多种框架"&gt;支持多种框架&lt;/h2&gt;
&lt;p&gt;这不仅仅是.NET WPF/WinUI的工具。该扩展支持：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;.NET&lt;/strong&gt;: WPF、WinForms、Console、WinUI 3&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;C/C++&lt;/strong&gt;: Win32、CMake、MSBuild&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Electron&lt;/strong&gt; / Node.js&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rust&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tauri&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Flutter&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这种广泛支持是刻意为之的。VS Code是Web和跨平台开发者的聚集地。如果你正在构建需要Windows打包的Tauri或Electron应用，这个扩展无需你采用Visual Studio就能满足需求。&lt;/p&gt;
&lt;h2 id="对net开发者的意义"&gt;对.NET开发者的意义&lt;/h2&gt;
&lt;p&gt;我大量使用VS Code——这是我编写Markdown、管理配置、编辑小项目和运行终端的地方。但对于.NET Windows桌面开发，一旦需要与打包相关的任何操作，Visual Studio一直是唯一的真正选择。&lt;/p&gt;
&lt;p&gt;这个扩展填补了这一空白。现在可以在VS Code中完成完整的.NET Windows桌面开发周期——编辑、构建、使用包标识运行、调试、打包、签名——无需离开编辑器。这是真正的生产力提升。&lt;/p&gt;
&lt;h2 id="快速上手"&gt;快速上手&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;code --install-extension Microsoft-WinAppCLI.winapp
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;或者在扩展视图（&lt;code&gt;Ctrl+Shift+X&lt;/code&gt;）中搜索&lt;strong&gt;WinApp&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;要求：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Windows 10或更高版本&lt;/li&gt;
&lt;li&gt;VS Code 1.109.0或更高版本&lt;/li&gt;
&lt;li&gt;适用于应用语言的调试器扩展&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;查看&lt;a href="https://devblogs.microsoft.com/ifdef-windows/announcing-the-winapp-vs-code-extension-run-debug-and-package-windows-apps-in-vs-code/"&gt;Chiara Mooney的完整公告&lt;/a&gt;了解更多详情。&lt;/p&gt;
&lt;h2 id="总结"&gt;总结&lt;/h2&gt;
&lt;p&gt;WinApp VS Code扩展是.NET Windows桌面开发者的福音——他们一直在VS Code中工作，却不得不切换到Visual Studio进行打包工作。F5启动获得包标识、从命令面板打包MSIX、内置证书管理——这是正确的功能组合。&lt;/p&gt;
&lt;p&gt;在下一个WPF或WinUI项目中试试看。你一直在绕过的摩擦刚刚大幅减少了。&lt;/p&gt;</content:encoded></item></channel></rss>