VS2019发布.Net Core应用到未安装.Net Core运行时设备的部署问题咨询
自包含部署仅生成apphost.exe的问题原因
- 发布时未指定具体目标运行时:发布设置中「目标运行时」选择了「可移植」,未选择用户设备对应的Windows架构RID(如
win-x86/win-x64),就会生成通用的apphost.exe而非带应用名称的可执行文件,重新选择对应目标架构重新发布即可生成正确的EXE文件。 - 单个文件发布配置错误:如果勾选了「生成单个文件」选项但未同步勾选「在单个文件中包含本机运行时」,也会出现仅生成apphost.exe的问题,补充勾选对应选项或取消单个文件发布即可解决。
部署方案选择建议
- 优先排查自包含部署的依赖问题:先在用户设备命令行运行应用,记录具体缺失的DLL名称,若为VC运行时相关DLL,仅需给用户设备安装对应架构的VC 2015-2019可再发行组件包即可解决,这是.Net Core 3.1自包含部署的已知常见依赖问题,不需要修改发布逻辑。
- 若自包含依赖问题排查成本过高,可选择框架依赖部署方案:先给用户设备安装匹配架构的.Net Core 3.1桌面运行时,再部署原来的框架依赖版本即可,该方案部署包体积更小,后续应用迭代更新时仅需替换应用相关文件,不需要重新打包全量运行时文件,维护成本更低。
内容的提问来源于stack exchange,提问作者RMittelman
相关产品推荐
相关产品推荐

