VSCode + .NET8 MAUI开发Windows应用:从环境配置到打包部署的完整避坑指南

用 Visual Studio Code 做基于 .NET MAUI 跨平台移动应用开发 2010年起,移动应用开发是非常热门的一个方向,从技术上我们经历了原生应用开发,基于 H5 的 Web App ,还有混合模式的移动应用开发,再到跨平台移动应用开发。 .NET 除了是一个跨平台的应用外, 也是一个跨应用场景的平台。.NET 的移动应用方案最开始基于 Mono , 从 MonoTouch , 到 MonoDroid ,到跨平台移动应用方案 Xamarin , 再到现在整合到 .NET 6 的 MAUI。通过 .NET MAUI 你可以通过一份代码,一个项目快速构建具备原生性能的 iOS / 阅读详情

VSCode + .NET8 MAUI开发Windows应用:从环境配置到打包部署的完整避坑指南

如果你和我一样,习惯了VSCode的轻快与灵活,面对Visual Studio那略显臃肿的身躯总想绕道而行,那么用VSCode来开发.NET MAUI应用,绝对是一个值得尝试的选择。尤其是.NET 8发布后,MAUI的稳定性和工具链都有了长足进步,这让在轻量级编辑器中构建跨平台原生应用成为可能。但这条路并非坦途,从环境配置的第一个命令开始,到最终生成一个可安装的MSIX包,每一步都可能藏着意想不到的“坑”。这篇文章,就是我在多次踩坑、填坑后,为你梳理出的一份实战手册。它不仅仅是一份操作清单,更侧重于解释“为什么”要这么做,以及当事情不按预期发展时,你该如何排查和解决。无论你是想逃离Visual Studio的“舒适区”,还是单纯想在Linux或Mac上也能捣鼓Windows应用,这份指南都将为你铺平道路。

1. 环境搭建:奠定稳固的基石

万事开头难,对于MAUI开发更是如此。一个干净、正确配置的开发环境是后续所有工作的前提。很多人第一步就卡住了,问题往往出在组件依赖的遗漏或版本冲突上。

1.1 核心工具链的精准安装

首先,你需要.NET 8 SDK。但请注意,并非所有.NET 8 SDK都默认包含MAUI工作负载。最稳妥的方式是前往微软官方.NET下载页面,选择并安装标明了“包含MAUI”的版本。安装后,打开终端验证:

dotnet --list-sdks

你应该能看到类似 8.0.xxx 的版本号。接下来是安装MAUI工作负载,这是最关键也最容易出错的一步。务必使用管理员权限(Windows)或sudo(macOS/Linux) 打开终端执行:

dotnet workload install maui

这个命令会下载并安装一整套开发MAUI应用所需的框架、模板和工具。安装过程可能较长,取决于你的网络环境。完成后,使用 dotnet workload list 检查,确保列表中包含了 maui 和 maui-windows(如果你目标平台包括Windows)。

注意:如果你之前安装过旧版本的MAUI(比如.NET 7时代的),强烈建议先运行 dotnet workload update 来更新所有工作负载到最新版本,避免潜在的兼容性问题。

1.2 VSCode扩展生态的针对性配置

VSCode本身只是一个编辑器,它的强大依赖于扩展。对于C#和MAUI开发,以下几个扩展是核心:

  • C# Dev Kit:这是微软官方的下一代C#开发体验套件,提供了项目管理、智能感知、测试和调试等核心功能。它正在逐步取代旧的C#扩展。
  • .NET MAUI:由Microsoft提供的官方扩展,它为MAUI项目提供了特定的项目系统支持和XAML编辑体验。
  • .NET Extension Pack:一个扩展合集,通常包含了有用的工具,但并非强制。你可以根据个人喜好选择。

安装完扩展后,重启VSCode以确保所有功能加载完毕。有时,C# Dev Kit需要在线下载一些额外的依赖(如OmniSharp服务器),请保持网络畅通。

1.3 Windows平台特定依赖的深水区

如果你的开发机就是Windows,并且目标也是发布Windows应用,那么还需要处理一些平台特有的依赖。这步的坑最多。

  1. 启用开发者模式:这是为了允许安装未签名的应用进行测试。在Windows设置中搜索“开发者设置”,打开“开发人员模式”。或者通过PowerShell(管理员)快速设置:
    Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\AppModelUnlock" -Name "AllowDevelopmentWithoutDevLicense" -Value 1
    
  2. Windows App SDK:MAUI Windows应用依赖于Windows App SDK(以前叫Project Reunion)。你需要安装1.3或更高版本。可以通过Microsoft Store或从GitHub发布页下载安装程序。
  3. Windows SDK:确保安装了适当版本的Windows SDK。对于.NET 8 MAUI,通常需要Windows 10 SDK (10.0.19041.0) 或更高版本。可以使用WinGet工具方便安装:
    winget install Microsoft.WindowsSDK.10.0.22000
    

很多“无法找到Windows目标框架”或运行时错误,根源都在于这三项没有正确配置。一个快速的验证方法是尝试创建一个空的控制台项目并切换到Windows目标框架,看是否能正常编译。

2. 项目创建与结构解析

环境就绪后,让我们创建一个MAUI项目。但用VSCode创建和用Visual Studio创建,体验和需要关注的点有所不同。

2.1 使用命令行创建与初始配置

在VSCode中,打开一个空文件夹作为工作区,然后打开集成终端(Ctrl+`)。使用以下命令创建项目:

dotnet new maui -n MyMauiWinApp
cd MyMauiWinApp

这个命令会生成一个标准的MAUI多目标项目。用 dir 或 ls 查看生成的文件,你会发现一个 .csproj 文件,这是项目的核心。对于纯Windows应用,我们通常希望简化项目,移除不必要的平台引用以加快加载和构建速度。

用VSCode打开 MyMauiWinApp.csproj 文件,找到 TargetFrameworks 节点。默认它可能包含多个框架,像这样:

<TargetFrameworks>net8.0-android;net8.0-ios;net8.0-maccatalyst;net8.0-windows10.0.19041.0</TargetFrameworks>

将其修改为只保留Windows目标,并调整最低版本支持:

<PropertyGroup>
    <TargetFrameworks>net8.0-windows10.0.19041.0</TargetFrameworks>
    <SupportedOSPlatformVersion>10.0.17763.0</SupportedOSPlatformVersion>
</PropertyGroup>

同时,你可以将其他平台(如android, ios)的引用、资源文件暂时移除或注释掉,让项目结构更清晰。修改后,运行 dotnet restore 重新获取依赖。

2.2 理解MAUI项目在VSCode中的视图

在VSCode的资源管理器里,你的项目文件树可能不会像Visual Studio那样自动按平台分组。你需要熟悉原始的文件结构:

  • Platforms/ 文件夹:里面包含了各平台的启动代码和特定实现。对于Windows,关注 Platforms/Windows/ 下的 App.xaml.cs 和 MainWindow.xaml。
  • Resources/ 文件夹:存放图片、字体、样式等共享资源。
  • App.xaml 和 App.xaml.cs:应用的全局入口点和资源定义。
  • MainPage.xaml 和 MainPage.xaml.cs:默认的主页面。

VSCode的C# Dev Kit扩展会尝试解析项目并提供解决方案视图,但有时反应会慢半拍。如果遇到智能感知(IntelliSense)不工作的情况,可以尝试点击VSCode状态栏右下角的火焰图标(C#服务器),选择“重启项目”。

3. 调试配置:让F5真正生效

在Visual Studio里,F5调试是开箱即用的。在VSCode里,我们需要手动配置 launch.json 和 tasks.json 这两个文件,这是核心的“避坑”环节。

3.1 配置构建任务 (tasks.json)

首先,我们需要告诉VSCode如何构建我们的项目。在项目根目录下创建 .vscode 文件夹(如果不存在),然后在里面创建 tasks.json 文件。

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build-maui-windows-debug",
            "command": "dotnet",
            "type": "process",
            "args": [
                "build",
                "${workspaceFolder}/MyMauiWinApp.csproj",
                "--configuration",
                "Debug",
                "--framework",
                "net8.0-windows10.0.19041.0",
                "--verbosity",
                "normal"
            ],
            "problemMatcher": "$msCompile",
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ]
}

这个任务定义了一个名为 build-maui-windows-debug 的构建任务,它使用 dotnet build 命令来编译我们的Windows目标应用。problemMatcher 帮助VSCode将编译错误和警告捕获并显示在“问题”面板中。

3.2 配置启动与调试 (launch.json)

接下来,配置如何启动调试器。在 .vscode 文件夹下创建 launch.json 文件。

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Launch Windows (Debug)",
            "type": "coreclr",
            "request": "launch",
            "preLaunchTask": "build-maui-windows-debug",
            "program": "${workspaceFolder}/bin/Debug/net8.0-windows10.0.19041.0/win10-x64/MyMauiWinApp.exe",
            "args": [],
            "cwd": "${workspaceFolder}",
            "console": "internalConsole",
            "stopAtEntry": false,
            "internalConsoleOptions": "openOnSessionStart",
            "env": {
                "DOTNET_MAUI_RUNTIME": "windows"
            }
        }
    ]
}

这里有几个关键点:

  • preLaunchTask: 指定在启动调试前先运行哪个构建任务,这里指向我们刚定义的 build-maui-windows-debug。
  • program: 这是编译生成的Windows可执行文件的路径。这是最容易出错的地方! 路径中的框架名称(net8.0-windows10.0.19041.0)和运行时标识符(win10-x64)必须与你的项目配置和构建输出完全匹配。如果你修改了目标框架或者构建的是x86版本,这里一定要同步修改。
  • env: 设置环境变量 DOTNET_MAUI_RUNTIME 为 windows,这有助于MAUI运行时正确识别并加载Windows特定的实现。

配置好后,切换到VSCode的“运行和调试”视图(Ctrl+Shift+D),你应该能看到“Launch Windows (Debug)”选项。按F5,如果一切顺利,你的MAUI Windows应用窗口将会弹出,并且你可以在代码中设置断点进行调试。

4. 开发实战:界面、热重载与性能调优

环境跑通了,现在可以专注编码了。MAUI的核心是使用XAML定义UI,用C#编写逻辑。

4.1 XAML编辑与实时预览

在VSCode中编辑XAML,智能感知和代码格式化由.NET MAUI扩展提供。虽然不如Visual Studio的XAML设计器那样直观,但通过以下方式可以提升效率:

  • 使用XAML预览:.NET MAUI扩展可能提供基础的XAML预览面板(有时需要额外安装XAML Language Support扩展)。在编辑XAML文件时,尝试右键选择“打开预览”。
  • 依赖热重载(Hot Reload):这是提升开发体验的利器。你可以在终端运行:
    dotnet watch build --framework net8.0-windows10.0.19041.0
    
    或者更针对性地运行:
    dotnet watch run --framework net8.0-windows10.0.19041.0
    
    当你修改XAML或C#代码并保存后,dotnet watch 会自动重新构建并热重载到正在运行的应用中,UI变化几乎实时可见,无需手动停止和重启应用。

4.2 处理平台特定代码

即使你只开发Windows应用,了解MAUI处理平台特定代码的方式也有益无害。MAUI提供了多种方式:

  1. 使用条件编译:

    #if WINDOWS
        // 这里是只在Windows平台编译和执行的代码
        var screenWidth = DeviceDisplay.Current.MainDisplayInfo.Width;
    #endif
    

    你需要在项目文件中为Windows目标框架定义 WINDOWS 符号。

  2. 使用部分类(Partial Class)和依赖服务(Dependency Service):这是更优雅的跨平台模式。在共享代码库中定义接口,然后在 Platforms/Windows 文件夹下提供具体实现,并通过MAUI的依赖注入容器或 DependencyService 在运行时调用。

例如,你需要一个访问特定系统文件夹的功能:

  • 在共享项目中定义接口 IFolderPicker。
  • 在 Platforms/Windows/Services 下创建类 FolderPicker 实现该接口。
  • 在 MauiProgram.cs 中使用 ConfigureServices 方法注册这个服务。
  • 在页面中通过构造函数注入或 MauiApplication.Current.Services 获取服务实例。

这种方式保持了共享代码的纯净性。

5. 打包与部署:生成可分发的安装包

开发调试完成,最后一步是将应用打包成可以分发给最终用户的格式。对于Windows,最主流的是MSIX包。

5.1 发布应用

在项目根目录下,使用 dotnet publish 命令进行发布。为了生成MSIX包,我们需要添加一些额外的参数。

dotnet publish -f net8.0-windows10.0.19041.0 -c Release -p:WindowsPackageType=Msix -p:MsixPackageDir=./publish-msix

让我们分解一下这个命令:

  • -f: 指定目标框架。
  • -c Release: 使用Release配置进行优化。
  • -p:WindowsPackageType=Msix: 关键参数,指示生成MSIX包。
  • -p:MsixPackageDir: 指定MSIX包的输出目录。

执行这个命令后,.NET MAUI构建系统会做很多事情:它会编译应用,收集所有依赖项,并调用Windows App SDK的打包工具(MakeAppx.exe)来创建 .msix 或 .msixbundle 文件。输出目录(本例中的 ./publish-msix)里会包含安装包以及相关的签名证书(如果使用了测试证书)。

5.2 配置应用清单 (Package.appxmanifest)

MSIX包的行为和元数据由一个名为 Package.appxmanifest 的XML文件控制。在MAUI项目中,这个文件通常位于 Platforms/Windows 目录下。在打包前,你需要仔细检查并修改这个文件:

配置项说明典型值/注意事项
Identity包的唯一标识符,包含Name, Publisher, Version。Version 每次更新包都必须递增。Publisher 需要与签名证书的发行者匹配。
Properties -> DisplayName在开始菜单和设置中显示的应用名称。使用用户友好的名称。
Applications -> Application -> VisualElements设置应用磁贴的显示属性,如Logo、前景文本等。确保指定的Logo图片路径 (Assets\StoreLogo.png等) 存在。
Capabilities声明应用需要的系统能力,如互联网访问、文件系统访问等。按需添加,最小权限原则。例如,如果需要访问图片库,添加 picturesLibrary 能力。

你可以直接用VSCode编辑这个XML文件,也可以使用Windows SDK中的“清单设计器”工具进行可视化编辑(在开发者命令提示符中运行 manifesteditor)。

5.3 代码签名与分发

生成的MSIX包必须经过签名才能安装(开发人员模式下的测试安装除外)。对于测试,构建过程会自动生成一个测试证书(.pfx文件)。对于正式分发,你需要购买由受信任的根证书颁发机构(如DigiCert, Sectigo)签发的代码签名证书。

使用测试证书签名的包在安装时,Windows会显示“未知发布者”的警告。使用正式证书则可以显示你的公司名,建立用户信任。

分发方式有多种:

  • 旁加载(Sideload):直接发送 .msix 文件给用户,用户双击安装。适用于企业内部分发。
  • Microsoft Store:将包提交到微软应用商店,由微软负责签名和分发。这是面向公众最通用的方式。
  • 商业分发平台:如通过网站或第三方软件管理平台分发。

在打包过程中如果遇到错误,可以尝试增加日志详细程度来排查:

dotnet publish -f net8.0-windows10.0.19041.0 -c Release -p:WindowsPackageType=Msix -v detailed

查看输出日志,常见的错误包括清单文件格式错误、资源文件丢失、证书问题等。

从轻快的VSCode编辑器到生成一个专业的Windows安装包,这条路虽然需要手动配置的环节多一些,但带来的控制感和灵活性是巨大的。我最开始从Visual Studio切换过来时,也被 launch.json 的路径问题折腾了好几个小时,但一旦打通,那种“一切尽在掌握”的感觉非常棒。记住,当遇到构建或调试问题时,第一件事是检查路径和框架标识符是否完全匹配,第二是查看 dotnet 命令的详细输出日志,大多数答案都藏在日志里。

VSCode与.NET8 MAUI:打造高效Windows应用开发环境 本文详细介绍了如何利用VSCode与.NET 8 MAUI搭建高效的Windows应用开发环境。通过一站式环境配置、项目创建、调试优化及发布实战指南,帮助开发者掌握这一轻量、快速的现代开发组合,显著提升Windows桌面应用的开发效率与体验。 阅读详情

相关推荐

Visual Studio Code + .NET MAUI开发全攻略:摆脱VS束缚的轻量级工作流

本文详细介绍了如何利用Visual Studio Code搭建轻量级.NET MAUI跨平台开发环境。通过配置.NET SDK、MAUI工作负载及VS Code扩展,开发者无需依赖庞大的Visual Studio IDE,即可在Linux、macOS或Windows上高效进行Android、iOS、macOS和Windows应用的编码、调试与热重载,实现灵活流畅的开发体验。

arduino9maker的博客 491

.NET 8 Preview 6 中推出 .NET MAUI: 欢迎使用 VS Code 和 VS for Mac

.NET 8 Preview 6 推出了.NET MAUI,同时修复了 23 个关键问题,并引入了适用于 iOS 的 Native AOT。您现在可以在 .NET 8 中使用 .NET MAUI,只要安装 Visual Studio Code 的新 .NET MAUI 扩展或者 Visual Studio for Mac 17.6.1。

MicrosoftReactor的博客 725

VSCode配置C#开发环境四层原理与跨平台实操指南

C#开发环境配置本质是编辑器与.NET运行时的系统级桥接工程,涉及.NET Runtime(程序执行地基)、.NET SDK(含编译器与构建工具)、OmniSharp语言服务器(提供智能提示与诊断)及VSCode C#扩展(用户交互入口)四层协同。理解其分层职责与版本兼容逻辑,是解决语法高亮失效、Ctrl+Click跳转失败、调试断点不命中等高频问题的关键。该配置模式广泛适用于Windows/macOS/Linux平台,支撑ASP.NET Core后端、Blazor前端、MAUI跨端及云原生容器化等现代应用

weixin_30457551的博客 408

使用VSCode开发.NET8 MAUI Windows应用程序指南

本文包含从环境搭建到打包部署的完整流程,使用VSCode开发MAUI Windows应用需要注意Windows目标的配置和调试环境的设置。建议定期更新.NET MAUI工作负载以获取最新功能。不编译Android app的话,可以把net8.0-android;net8.0-maccatalyst去掉或者移到下面的注释块里。创建项目时候会创建.csproj, .xaml, .cs, .sln等文件。下载并安装.NET 8 SDK(需包含MAUI组件)安装Windows App SDK 1.3+

dingding2001的博客 3362

.NET生态现状、挑战与开发者应对策略

在云原生和开源协作的时代背景下,.NET作为微软推出的跨平台开发框架,经历了从闭源到开源的转型。其核心原理在于通过运行时优化(如GC改进、PGO编译)和现代化工具链(如Source Generators)提升性能。技术价值体现在服务端开发效率和企业级应用支持上,尤其在微软产品集成场景优势明显。然而,开发者社区活跃度、第三方库丰富性以及跨平台兼容性(如Linux环境下的SSL问题)仍是主要挑战。典型应用场景包括金融系统、电商平台等企业级开发,但需注意网络层稳定性(HttpClient成功率)和工具链体验(VS

weixin_30443075的博客 376

.NET平台与C#开发:从基础到企业级应用实战

现代软件开发中,.NET平台作为跨语言、跨平台的开发框架,通过CLR(公共语言运行时)和BCL(基础类库)提供强大的基础设施支持。其核心原理包括JIT编译、垃圾回收和类型安全机制,显著提升开发效率和运行时性能。在技术价值层面,.NET 6/7的统一SDK设计支持Web、微服务、云原生等多种应用场景,结合C# 10的语言特性如记录类型和最小API,能够快速构建高性能应用。特别是在企业开发中,依赖注入、配置管理和EF Core等组件,为电商、物流等系统提供稳定支持。本文通过容器化部署、性能调优等实战案例,深入解

weixin_34026276的博客 422

技术速递|Visual Studio Code 的 .NET MAUI 扩展现已正式发布

NET MAUI 扩展插件为您提供了在轻量级 Visual Studio Code 中开发 .NET MAUI 应用所需的工具。它基于C# Dev Kit和C# 扩展构建,提供了解决方案资源管理器、C# Hot Reload、强大的 C# IntelliSense 等众多功能。.NET MAUI 扩展增加了针对移动设备和桌面设备的能力,此外,借助最新版本的扩展,增加了 XAML IntelliSense 和 XAML Hot Reload,同时让您的 VS Code 体验更加精简和简单。

MicrosoftReactor的博客 1484

Visual Studio与VS Code深度对比:IDE与编辑器的本质区别与选型指南

在软件开发领域,集成开发环境(IDE)与代码编辑器是两类核心工具,它们分别代表了不同的工程范式。IDE通过深度集成编译器、调试器、项目管理等全套工具链,为特定技术栈提供开箱即用的完整解决方案,典型代表如Visual Studio,尤其适合.NET、Windows C++等大型工程项目。而现代代码编辑器则基于模块化架构,通过语言服务器协议(LSP)和扩展生态实现轻量、跨平台的多语言支持,VS Code正是这一理念的典范,其集成终端和任务系统完美融合了命令行工作流。理解这两者的核心差异——是选择一体化套件还是模

weixin_30745553的博客 854

在macOS中搭建.NET MAUI开发环境

在 Visual Studio Code 中,按 F5 键或单击“运行”>“启动调试”以调试 .NET MAUI 应用。在 macOS 上,建议的 Android SDK 目录值为 $HOME/Library/Android/sdk。此时已可以真机调试 Android 应用,如果真机调试不方便,我们需要安装 Android 模拟器。另外可以通过切换调试目标中的菜单,查看可用的镜像,选择一个镜像,或创建一个新的镜像。在 Visual Studio Code 的资源管理器中,打开项目sln文件,

jevonsflash的专栏 2805

dotnet-maui-check:.NET MAUI检查工具

dotnet-maui-check .NET MAUI检查工具 安装: dotnet tool install -g Redth.Net.Maui.Check 跑步: maui-check 清单文件 医生当前使用清单文件来获取最新版本和要求。 清单默认托管在: : 您可以使用--manifest <URL>选项指定备用文件或URL: maui-check --manifest /some/other/file 无需提示即可修复 您可以尝试使用--fix参数来自动启用解决方案而无需提示。 非互动 如果您在CI上运行,则可能需要在不带--non-interactive参数的任何必需输入的情况下运行。 您可以将其与--fix结合使用,以在不提示的情况下自动修复。

vscode-comet

彗星扩展 使用Comet构建具有MVU风格UI的.NET 6移动应用程序 调试经验 在模拟器上构建并启动应用程序 当地人,堆栈,断点等 支持Android和iOS / MacCatalyst(仅适用于macOS) 从源头上跑 先决条件 打字稿: npm install -g typescript VSCE(用于打包VSIX): npm install -g vsce 带有Android / iOS / Catalyst工作负载的.NET 6预览(安装dotnet tool install -g redth.net.maui.check并运行maui-check以确保正确设置环境) 单声道(仅适用于Mac) Mac上的"omnisharp.useGlobalMono": "never"必须具有"omnisharp.useGlobalMono": "never"设置,才能正确加载ne

VSCode与.NET8 MAUI:打造高效Windows应用开发环境全攻略

本文详细介绍了如何利用VSCode与.NET8 MAUI搭建高效的Windows应用程序开发环境。从环境配置、项目创建、调试配置到界面设计与打包分发,提供了一套完整的实战指南,帮助开发者快速上手跨平台桌面应用开发,提升开发效率。

weixin_28836507的博客 369

DeepL Pro免费使用技巧与API调用优化方案

机器翻译技术通过神经网络模型实现跨语言语义转换,其核心价值在于保持专业术语准确性的同时实现自然语言流畅度。现代翻译工具如DeepL采用注意力机制等深度学习技术,在医疗、法律等专业领域展现出接近人工翻译的质量。针对API调用场景,开发者可通过请求模拟实现小批量自动化处理,而文档预处理和术语库优化则能显著提升免费额度使用效率。本文重点解析如何通过字符计算优化、临时接口调用等工程实践方法,在合规前提下最大化利用免费翻译资源。

weixin_29038303的博客 265

界面控件DevExpress v23.2全新发布 - 官宣正式支持.NET 8

行业领先的界面控件开发包DevExpress v23.2.3全新发布,此版本正式支持.NET 8、改进非Windows平台的开发等,欢迎立即下载体验!

需要界面开发、IDE工具研发中文教程资料的小伙伴,记得私信我~ 2633

unity游戏开发日志(一)将mmd模型导入unity,并解决材质丢失的问题

unity音乐游戏开发,导入角色模型并解决材质问题

yizhigou1的博客 1762

linux下wayland协议修改键盘映射

linux下wayland协议,修改键盘映射,实验环境是Ubuntu24,其他wayland协议窗口应该也是可以的。

qq_15027967的博客 1068

Windows 开发工具简介

Windows 平台提供了多种开发工具,这些工具能够帮助开发者创建各种类型的应用程序,从桌面应用到移动应用,再到云服务。这些工具都紧密地集成在一起,形成了一个全面的支持体系,使开发者能够在 Windows 平台上高效地进行软件开发。

austinchr3377的博客 1088

计算机专业保研攻略(一):个人定位与院校推荐(必看干货)

写在最前 又是一年保研季,作为过来人,我深知保研就是一场信息战。在保研过程中,需要注意的信息太多了,最初我也因为经验不足,走了不少弯路。我写下这篇博客,希望能帮助更多有需要的同学。 怎样做好保研信息分析 我想举几个发生在我身边真实的例子: A同学推免排名不如B同学,但A保研去向比B同学好很多; C同学在年级里成绩并不算突出,但他拿到了最好的offer; D、E同学纷纷圆梦北大、浙大等名校,但是他们的成绩似乎并不突出; F同学取得了目标院校夏令营offer,但没有拿到本校推免资格; G同学认为自己拿不到推免

乔卿的博客 8388

Avalonia跨平台开发环境配置全攻略:从.NET SDK到IDE实战

跨平台UI开发框架是现代软件开发中的重要技术,它允许开发者使用单一代码库构建能在多个操作系统上运行的应用程序。其核心原理在于通过抽象层统一不同平台的图形渲染和系统接口调用,从而实现代码复用和开发效率的大幅提升。在.NET生态中,Avalonia作为一款开源的跨平台UI框架,凭借其基于XAML的声明式语法和像素级精确的渲染能力,为需要高度一致UI表现的企业级应用提供了强大支持。对于从WPF、WinForms等技术栈迁移而来的开发者,掌握Avalonia的环境配置是迈向高效跨平台开发的第一步。本文将围绕.NET

weixin_30740581的博客 293

【经验&技巧】IBIS AMI模型眼图仿真问题探讨

在ADS的仿真环境中,不论发送和接收的AMI模型是否为true或者false,都可以将通道仿真设置为统计模式,但是,如果有一方的Init函数为false,在统计模式下,处于false状态的模型将不能执行其自带的后处理功能,如下图所示,左边的统计模式和右边的逐比特模式眼图存在明显的差异,原因在于,接收端的init函数为false导致在统计模式中不能对眼图进行DFE处理,换言之,此时统计模式下的眼图就是未经任何处理的“生图”。

一只豌豆象的博客 1766

吊打原版YOLOv8!ASF-YOLO多尺度融合+注意力机制实战解析(遥感/医疗/质检均适用)

ASF-YOLO融合YOLOv8的创新目标检测框架摘要 ASF-YOLO是针对小目标检测优化的先进框架,采用三重特征编码器和尺度序列融合技术增强多尺度特征提取能力。核心创新包括: 三重特征编码器(TPE)融合跨层级信息 尺度序列特征融合(SSFF)模块通过3D卷积处理多尺度信息 通道-位置注意力机制(CPAM)聚焦关键特征区域 Zoom_cat模块实现自适应多尺度特征融合 该框架特别适用于医学影像、遥感检测等小目标密集场景,通过动态特征权重调整显著提升检测精度。关键技术实现包含多尺度特征统一、3D卷积序列处

FJN110的博客 527

2026年C#与.NET生态全景及云原生开发实践

C#作为.NET平台的核心语言,通过类型安全和内存管理等特性构建稳健应用。其运行原理基于CLR即时编译,结合丰富的标准库支持多范式编程。在云原生时代,C#凭借出色的性能成为微服务开发的重要选择,特别在容器化部署和跨平台场景展现技术价值。文章深入解析Docker镜像加速配置、上位机开发的模块化架构等工程实践,并探讨JSON序列化优化等高频问题解决方案。通过System.IO.Pipelines提升数据采集效率、PPOCR v6集成等案例,展示C#在工业自动化和OCR领域的前沿应用。

weixin_34356310的博客 385

[低代码 + AI] 明道云与 Dify 的三种融合实践方式详解

融合方式技术路径优点局限或注意事项UI 嵌入iframe 表单嵌入快速集成、用户体验一致无法自定义交互逻辑明道云调用 DifyAPI 请求节点工作流自动化、逻辑灵活有 timeout 限制、需优化 promptDify 调用明道云插件或 API 调用节点可查询实际业务数据、增强 AI 智能需理解明道云 API 结构、权限设置复杂明道云与 Dify 的结合为低代码平台注入了智能动力。

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 1187
上一篇: FFmpeg直播推流实战:5分钟搞定阿里云ECS服务器搭建与配置(含端口避坑指南)
下一篇: YOLO轻量化模型实战:如何在树莓派上部署YOLOv8n实现实时目标检测
root9
博客等级 码龄15年 31粉丝 1255原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值