ASP.NET Core 2.1 Preview 2应用部署Azure App Service后无法运行求助
解决ASP.NET Core 2.1 Preview 2升级后Azure App Service运行异常的问题
我之前升级Preview版本时也踩过类似的坑,给你几个实用的排查和解决方向:
1. 确认Azure App Service的运行时环境
你移除了旧的Preview 1扩展,但Preview 2的运行时可能还没在你的App Service实例上自动配置:
- 登录Azure门户,进入你的App Service,打开配置 > 常规设置
- 查看“.NET Core版本”下拉框,有没有
2.1 (Preview 2)的选项。如果没有,试试这步:- 打开App Service的高级工具,进入Kudu控制台,运行
dotnet --info命令,查看当前已安装的运行时版本。如果没有Preview 2,回到扩展页面,搜索并安装“ASP.NET Core Runtime 2.1 Preview 2”(注意选对应用的架构,x86/x64)
- 打开App Service的高级工具,进入Kudu控制台,运行
2. 检查你的csproj配置
确保项目文件里的版本和运行时配置完全匹配Preview 2,比如:
<Project Sdk="Microsoft.NET.Sdk.Web"> <PropertyGroup> <TargetFramework>netcoreapp2.1</TargetFramework> <AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel> <!-- 若用自包含部署,指定对应RuntimeIdentifier --> <!-- <RuntimeIdentifier>win-x64</RuntimeIdentifier> --> </PropertyGroup> <ItemGroup> <PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.0-preview2-final" /> </ItemGroup> </Project>
- 确认所有NuGet包(尤其是
Microsoft.AspNetCore.App)都升级到了2.1.0-preview2-final,没有残留旧版本依赖 - 如果是框架依赖部署,必须保证Azure上的运行时版本和本地SDK完全一致;如果是自包含部署,发布时要确保打包了所有运行时文件,这样就不需要依赖App Service上的扩展了
3. 清理缓存后重新发布
旧的部署缓存很容易引发奇怪的问题:
- 本地先执行
dotnet clean和dotnet restore清理并重新还原依赖 - 重新生成发布包:
dotnet publish -c Release - 发布到Azure时,勾选“删除目标位置的现有文件”,确保旧文件被完全替换
4. 查看详细错误日志
如果以上步骤都没用,去Azure App Service的日志流或者Kudu控制台的LogFiles目录查看具体异常信息——日志里会明确告诉你是运行时缺失、依赖找不到还是配置错误,能帮你快速定位问题。
内容的提问来源于stack exchange,提问作者Sam
相关产品推荐
相关产品推荐

