Windows 10开发.NET Core 2.0应用所需运行时及Azure部署疑问
.NET Core 2.0开发环境与Azure WebJob发布问题解答
一、Windows 10开发.NET Core 2.0应用所需的运行时/SDK
作为开发机器,你需要安装 .NET Core 2.0 SDK —— 它不仅包含编译、创建项目所需的工具链,还自带了.NET Core 2.0 Runtime,完全能支撑你开发控制台应用或ASP.NET Core 2.0应用。如果只是单纯运行.NET Core 2.0应用,安装.NET Core 2.0 Runtime就够,但开发场景必须用SDK。
注意:.NET Core 2.0已经停止官方维护了,如果条件允许,建议升级到更安全的新版本,但针对你的需求,还是按2.0的要求来配置。
二、发布命令错误原因与Azure部署的正确姿势
1. 为什么win32-x64会报错?
你遇到的错误核心原因是:.NET Core 2.0不支持win32-x64这个运行时标识符(RID)。.NET Core的RID有严格的规范,Windows 64位环境对应的正确RID是:
win10-x64:专门针对Windows 10 64位系统win-x64:通用的Windows 64位系统标识(兼容性更广)
当你指定win32-x64时,SDK找不到对应的运行时包,自然会抛出错误;而win10-x64是2.0官方支持的RID,所以能正常完成发布。
2. 为Azure WebJob准备应用的正确方式
要让你的.NET Core 2.0控制台应用作为64位WebJob部署到Azure,按以下步骤操作就没问题:
- 执行正确的自包含发布命令:
或者用兼容性更广的通用标识:dotnet publish --self-contained -r win10-x64 -c Releasedotnet publish --self-contained -r win-x64 -c Release - 发布完成后,把
bin/Release/netcoreapp2.0/win10-x64/publish(或对应win-x64的目录)下的所有文件打包成ZIP包,上传到Azure WebJob。 - 最后在Azure App Service的配置里,确认平台设置为64位(在“配置”→“常规设置”里找到“平台”选项,选择“64位”),这样你的WebJob就会以64位进程运行了。
这种自包含部署的方式很适合Azure WebJob,因为打包后的文件包含了所有依赖,不需要Azure环境预先安装.NET Core 2.0运行时,能有效避免环境兼容问题。
内容的提问来源于stack exchange,提问作者Sam
相关产品推荐
相关产品推荐

