【保姆级喂饭教程】Visual Studio 2026 中创建基于 c# 的 WinForms 入门教程
目录前言一、创建项目二、创建应用程序三、运行应用程序四、发布应用程序1. 仅生成可执行文件适用于本机运行或简单分发2. 生成独立单文件 .exeCostura.Fody2.1 Costura.Fody介绍2.2 使用教程3. 打包为安装程序3.1 ClickOnce总结后续补充实际执行参考文献前言最近需要开发一个小工具选择了基于 c# 的 WinForms简单记录一下【技术变迁脉络】2026最新桌面应用开发技术汇总【保姆级喂饭教程】Visual Studio 2026 企业版安装教程一、创建项目双击Visual Studio 2026图标创建新项目上面筛选框分别选择C#、Windows、桌面这样找的快一点下面选择Windows 窗体应用(.NET Framework)注意不是前一个那个是创建项目模板点击下一步修改项目名称选择项目位置修改解决方案名称这里注意解决方案是项目名称的上级看下面创建路径就可以看出来测试项目工具项目可以勾选将解决方案和项目放在同一目录中框架原来是4.7.2给他改成4.x下最高版本4.8点击创建创建完成后如下左边是窗体效果右边是文件目录Properties存储项目的程序集元数据、静态资源和自定义配置项的核心文件夹。引用管理项目运行所需的所有外部程序集、系统库或第三方依赖项的节点。App.config以XML格式存储应用程序运行时可修改的配置项如数据库连接字符串的配置文件。Form1.cs承载Form1窗体相关代码的主文件包含开发者编写的业务逻辑与事件处理。Form1Form1.cs对应的窗体类分部类是可视化设计和逻辑编写的核心载体。Form1.Designer.cs由VS设计器自动生成用于定义Form1窗体及控件外观、布局的代码文件。Program.cs包含程序入口方法Main()负责启动应用程序并加载主窗体的核心文件。二、创建应用程序WinForms通过拖拽式创建元件目前没有工具箱点击视图选择工具箱快捷键CtrlAltX先点击右上角的图钉固定到界面然后打开公共控件选择一个按钮这块汉化做的不是很完全放置一个按钮有三种方式双击Button默认放在左上角单机Button拾取点击空白窗体放置按住Button拖动到空白窗体点击视图选择属性窗口快捷键F4点击button2属性窗口就会变成对应元件的修改Text文本原来式button2改成点击然后回车确定往上找到设计部分修改name属性为button2Click改了明确一点拖动一个label用于接收文本在属性窗口找到设计把name改为label1HelloWorld双击之前修改过的点击按钮会自动创建一个button2Click_Click方法写入label1HelloWorld.Text Hello World!;还有重要的点击周围的定位点可以改变拖动大小点击元件拖动可以改变位置三、运行应用程序点击上方的启动界面如下点击点击按钮Hello World关掉窗体和点击停止都可以结束调试四、发布应用程序1. 仅生成可执行文件适用于本机运行或简单分发首先右键项目选择属性确认一下输出类型是Windows应用程序一般默认就是这个然后点击生成选择生成解决方案下面提示生成成功生成到了这里工作目录/解决方案目录/项目目录/bin/Debug双击运行一下ok正式生成的时候这里改成Release再生成一个只是最后的生成目录不同2. 生成独立单文件 .exeCostura.Fody在开发中需要用到各种各样的包.net生态中的包管理工具是NuGet类似于Java生态中的maven不过NuGet只管理包不涉及编译构建等。使用第一种方式生成可执行文件后安装的包会单独生成dll自己测试没问题给别人发送的时候需要一起发送配置文件和dll文件例如我使用了Newtonsoft包使用第一种方式生成结果如下此时只把exe发送给别人打开会提示所以我们需要通过发布生成一个包含所有依赖的独立.exe文件这就用到了Costura.Fody包2.1 Costura.Fody介绍1. 什么是 Costura.FodyCostura.Fody 是 .NET 生态中一款极具人气的开源 NuGet 包隶属于 Fody 工具集。它专门用于处理 .NET 应用程序的依赖项嵌入问题。对于 WPF、WinForms 或控制台应用程序Costura.Fody 能够将项目引用的所有第三方 DLL 文件作为资源文件直接嵌入到生成的 EXE 程序集中从而实现“单文件”运行的效果。2. 核心技术原理Costura.Fody 的核心技术在于 IL Weaving中间语言织入。编译时处理 当开发者编译项目时Costura 会拦截构建过程读取项目的引用列表。资源嵌入 它会将所有标记为“复制本地”的 DLL 文件转换为字节数组并作为非托管资源嵌入到 EXE 文件的内部。运行时加载 程序运行时Costura 会挂载到 AppDomain.AssemblyResolve 事件上。当系统试图加载某个 DLL 但在磁盘上找不到时Costura 会自动从内存资源中读取并加载该程序集。3. 为什么要使用它应用场景在以下场景中Costura.Fody 是 WPF 和 WinForms 开发者的得力助手绿色便携软件 希望用户下载后仅通过一个 EXE 文件即可运行无需安装或解压避免“DLL 地狱”。插件化开发 防止用户误删核心 DLL 导致程序崩溃确保程序完整性。代码保护 相比于直接暴露在文件夹下的 DLL嵌入到 EXE 内部的依赖项在一定程度上增加了反编译的难度虽然不能完全替代混淆工具。4. 软件特点配置简单 安装 NuGet 包后通常会自动生成 FodyWeavers.xml 配置文件开箱即用绝大多数情况下无需额外配置。无运行时损耗 依赖项嵌入是在编译时完成的运行时的内存加载机制经过优化对程序启动速度影响极小。兼容性强 支持 .NET Framework 4.0 及 .NET Core/.NET 5完美兼容 WPF 和 WinForms 项目。灵活性 支持通过配置文件排除特定的 DLL如某些不需要嵌入的原生库或控制非托管 DLL 的加载方式。2.2 使用教程先切换到release模式不知道为什么切换按钮没有了我们点击工具栏最后面的三个点选择添加或移除按钮重置工具栏切换到release接下来安装Costura.Fody和Fody右键项目选择管理NuGet包搜索costura选择第一个安装会同时安装Costura.Fody和Fody点击应用点击我接受安装完成此时再次选择生成解决方案注意前面已经修改成了release但是还是多个文件提示警告说是找不到FodyWeavers.xml这个配置文件1MSBUILD:warning:Fody: Could notfinda FodyWeavers.xmlfileat the project level(D:\Data\WorkSpace\Visual Studio\***\Stock\***). A defaultfilehas been created. Please review thefileandaddit to your project.在资源管理器点一下刷新可以看到是有的重新生成一下虽然dll还是单独的但是通过文件大小可以看出已经打包进去了由89kb变成了361kb3. 打包为安装程序3.1 ClickOnce点击菜单栏的生成这次选择发布选择一个发布路径下一步默认就是总结后续补充实际执行在 Visual StudioVS中将项目生成.exe可执行文件主要分为两类需求仅生成可执行文件 和 打包为安装程序含 .exe 安装包。根据当前时间2026年3月和主流开发环境如 VS2022推荐以下方法一、仅生成可执行文件适用于本机运行或简单分发适用于在自己电脑上运行或复制到其他电脑测试前提是目标电脑已安装对应运行时。步骤打开项目在顶部工具栏将 “解决方案配置” 从Debug改为Release。点击菜单栏 生成 → 生成解决方案或按CtrlShiftB。编译成功后.exe文件位于C/ WPF / WinForms 项目项目路径\bin\Release\net6.0-windows\win-x64\若使用 .NET 6C 项目项目路径\Release\直接运行该.exe文件即可。✅ 优点快速、无需额外工具⚠️ 注意若目标电脑未安装 .NET 运行时可能无法运行除非启用“自包含发布”见下文二、生成独立单文件 .exe无需安装运行时适用于分发给无 .NET 环境的用户生成一个包含所有依赖的独立.exe文件。前提项目需使用 .NET 6 或更高版本如 .NET 8。配置方法右键项目 → 属性 → 应用程序 → 确保目标框架为.NET 6.0或更高。切换到 生成 选项卡 → 设置 运行时标识符RID 为win-x64或win-x86。编辑.csproj文件在PropertyGroup中添加PublishSingleFiletrue/PublishSingleFilePublishTrimmedtrue/PublishTrimmedSelfContainedtrue/SelfContained右键项目 → 发布 → 选择 文件夹 → 发布到本地路径如Publish文件夹。发布完成后在输出目录中找到 单个.exe文件可直接分发。✅ 优点单文件、无需安装 .NET、跨机器运行 官方文档.NET 单文件发布三、打包为安装程序生成 .exe .msi 安装包适用于正式发布给用户提供安装向导、快捷方式、卸载功能等。步骤安装扩展VS → 扩展 → 管理扩展 → 搜索 “Microsoft Visual Studio Installer Projects” → 安装 → 重启 VS。添加 Setup 项目右键解决方案 → 添加 → 新建项目 → 搜索 “Setup Project” → 创建。配置安装内容在 Setup 项目中右键 Application Folder → Add → Project Output → 选择主项目 → Primary Output。右键 Primary Output → Create Shortcut → 将快捷方式拖到 User’s Desktop 和 User’s Programs Menu。生成安装包右键 Setup 项目 → 生成 → 安装包.exe和.msi生成于 Setup 项目的Release目录。✅ 优点专业分发、支持自动安装/卸载⚠️ 注意该扩展在 VS2022 中需手动安装官方下载地址四、常见问题提醒找不到 .exe 文件检查是否在Release模式下生成路径通常是bin\Release\。生成失败确保项目能正常编译先在Debug模式下测试运行。依赖缺失若使用第三方库如 Qt、OpenCV需将对应.dll与.exe放在同一目录或使用工具如windeployqt自动收集。如需进一步操作指导可参考以下资源微软官方生成教程VS2022 打包为独立 exe 完整指南参考文献教程使用 C# 在 Visual Studio 中创建 Windows 窗体应用【WPF】使用Costura.Fody将工程打包为单个EXE文件喜欢的点个关注吧祝你永无bug~/* _ooOoo_ o8888888o 88 . 88 (| -_- |) O\ /O ____/---\____ . \\| |// . / \\||| : |||// \ / _||||| -:- |||||- \ | | \\\ - /// | | | \_| \---/ | | \ .-\__ - ___/-. / ___. . /--.--\ . . __ . .___\_|_/___. . | | : - \.;\ _ /;./ - : | | \ \ -. \_ __\ /__ _/ .- / / -.____-.___\_____/___.-____.- --- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 佛祖保佑 永无BUG */