【AI】VS2019 打包C# .NET Framework 4.8 / .NET Core/.NET5+ 完整流程(两种主流方案)

发布时间:2026/7/21 6:40:11
【AI】VS2019 打包C# .NET Framework 4.8 / .NET Core/.NET5+ 完整流程(两种主流方案) VS2019 打包C# .NET Framework 4.8 / .NET Core/.NET5 完整流程两种主流方案VS2019 和 VS2026 操作大体一致但扩展安装、界面入口、.NET版本适配有细微区别下面分官方Installer Projects生成MSI安装包企业最常用、发布Inno Setup轻量打包两套完整步骤优先讲 .NET4.8 WPF/WinForm。前置统一说明VS2019 默认不带安装项目模板必须手动安装扩展.NET Framework 4.8 无自包含、无单文件.NET Core/.NET5/6/7/8 支持独立发布。方案一VS官方安装项目Installer Projects输出MSISetup.exe一、第一步安装打包扩展VS2019专属操作顶部菜单扩展 → 管理扩展左侧切换到「联机」右上角搜索Microsoft Visual Studio Installer Projects选中官方扩展点击下载下载完成后关闭全部VS窗口弹出安装器点修改安装等待完成再打开VS2019注意VS2019 该扩展版本和2026不互通必须在VS2019内部联机下载。二、预处理项目防止第三方DLL打包丢失.NET4.8通用项目根目录新建Libs文件夹所有第三方DLL放入此处禁止放在bin目录选中Libs内dll → 右键属性生成操作无复制到输出目录如果较新则复制右键项目→添加引用→浏览选中Libs下dll解决方案资源管理器→引用→选中dll右键属性复制本地 True特定版本 False切换解决方案配置为Release | x64右键主项目「重新生成」确认bin/Release下exe所有dll齐全。.NET4.8 csproj 关键片段不要出现SelfContainedPropertyGroupTargetFrameworkVersionv4.8/TargetFrameworkVersionUseWPFtrue/UseWPFOutputTypeWinExe/OutputType/PropertyGroupItemGroupReferenceIncludeXXX第三方库HintPathLibs\XXX.dll/HintPathCopyLocaltrue/CopyLocalSpecificVersionfalse/SpecificVersion/Reference/ItemGroupItemGroupNoneIncludeLibs\XXX.dllCopyToOutputDirectoryPreserveNewest/CopyToOutputDirectory/None/ItemGroup三、新建Setup安装项目解决方案右键 → 添加 → 新建项目模板搜索框输入Setup选择Setup Project安装项目自定义名称如SetupPackage创建左侧文件系统视图4个目录Application Folder程序安装根目录User’s Desktop桌面快捷方式User’s Programs Menu开始菜单Global Assembly Cache FolderGAC极少用四、导入程序输出.NET4.8 / .NET Core 区分场景1你的程序是 .NET Framework 4.8WPF/WinForm右键Application Folder→ 添加 → 项目输出项目选中你的主程序项目输出主输出配置Release平台x64 → 确定VS会自动抓取exe、所有引用dll、Libs第三方库。场景2你的程序是 .NET Core 3.1 / .NET5/6/7/8不能选「主输出」要先右键主项目发布到文件夹再添加「发布项」否则依赖缺失。五、创建桌面、开始菜单快捷方式打开Application Folder右键「主输出来自XXX(活动)」→ 创建快捷方式重命名为软件正式名称将快捷方式拖拽到Users Desktop桌面图标复制一份拖入Users Programs Menu开始菜单可选右键快捷方式→属性→Icon导入软件ico图标六、配置安装项目核心属性选中解决方案里的Setup项目右侧属性面板设置属性值说明ProductName你的软件名控制面板显示名称Manufacturer公司/个人名称厂商信息Version1.0.0升级时必须递增版本RemovePreviousVersionsTrue安装新版本自动卸载旧版InstallAllUsersTrue所有用户可用需管理员权限关键配置先决条件检测.NET框架右键Setup项目 → 属性弹窗左上角先决条件按钮.NET4.8 勾选Microsoft .NET Framework 4.8 (x86 和 x64)下载位置三选一客户能上网从组件供应商网站下载内网无网络从与应用相同位置下载必备组件需手动下载离线包ndp48-x86-x64-allos-enu.exe放到Setup输出目录.NET Core/.NET5勾选对应 .NET Desktop Runtime七、可选自定义界面右键Setup项目 → 视图 → 用户界面可新增许可协议、欢迎页、完成页说明文字。八、生成安装包确认解决方案配置Release | x64右键Setup项目 → 生成输出目录解决方案文件夹下SetupPackage\Release产出文件xxx.msi 安装包setup.exe 引导程序发给客户优先用这个方案二VS发布文件夹 Inno Setup 轻量化单EXE安装包通用所有.NET版本适合想要体积小、自定义安装界面、无需VS扩展的场景1、VS2019发布程序.NET Framework 4.8右键主项目 → 发布目标选择「文件夹」下一步无独立运行时选项直接发布输出一堆exedll文件.NET Core/.NET5发布时部署模式选「独立」可勾选生成单个文件内置运行时。2、Inno Setup打包电脑安装 Inno Setup免费开源新建向导填写软件名称、版本、厂商选择VS发布文件夹内主exe作为程序入口设置桌面快捷方式、许可协议、安装路径编译一键生成独立Setup.exe安装包.NET4.8需要在Inno脚本增加代码检测系统是否安装4.8框架缺少则直接终止安装。VS2019 打包高频踩坑区别于高版本VS扩展搜不到Installer Projects确认VS联网、切换到「联机」不要搜错名称离线环境需要单独下载vsix手动安装。第三方DLL打包后缺失DLL不要放在binCopyLocalTrue重新生成Release再打包非托管C DLL手动添加到Application Folder。Win7安装报错.NET4.8不支持.NET4.8最低系统Win10 1903/Win11Win7最高仅支持4.7.2。升级安装残留旧文件Setup项目RemovePreviousVersionsTrue每次打包Version版本号必须加大。VS2019创建Setup项目时报兼容性错误项目平台统一x64不要混用AnyCPU全部切换Release再生成。交付客户文件网络环境setup.exe msi无网内网额外附带 .NET Framework 4.8 离线安装包