You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

将ASP.NET Core 2.1预览版应用部署至Azure时遇Runtime相关错误

解决Azure App Service部署ASP.NET Core 2.1预览版时的NU1102错误

你遇到的问题核心是本地开发环境与Azure App Service的SDK/包源版本不匹配:VS 15.6 Preview 7对应的ASP.NET Core 2.1 SDK版本(大概率是2.1.300-preview2系列)需要的Microsoft.Build.Runtime包版本,比Azure上安装的Preview1扩展提供的版本更高,导致部署时NuGet无法找到对应包。

下面是几个针对性的解决方案,你可以按顺序尝试:

  • 添加预览版NuGet源配置
    预览版ASP.NET Core包通常不在默认NuGet.org源中,你需要在项目根目录创建NuGet.config文件,引入官方预览源,确保Azure部署时能获取到对应版本的包:

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <packageSources>
        <add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
        <add key="AspNetCore Dev Feed" value="https://dotnet.myget.org/F/aspnetcore-dev/api/v3/index.json" />
      </packageSources>
    </configuration>
    

    将这个文件提交到Git仓库后重新推送部署,即可解决包找不到的问题。

  • 更新Azure App Service的SDK扩展
    你当前安装的Preview1扩展版本过旧,和本地VS 15.6 Preview7不兼容。登录Azure门户进入你的App Service,在「扩展」选项中卸载旧的Preview1扩展,然后安装对应2.1.300-preview2版本的ASP.NET Core预览扩展;如果找不到对应版本,也可以尝试在「配置」→「常规设置」里,直接将.NET Core版本切换到Azure提供的最新预览版。

  • 使用自包含部署模式
    这种模式会把完整的.NET Core运行时和应用打包在一起,无需依赖Azure环境中的SDK。修改项目文件(.csproj)添加以下配置:

    <PropertyGroup>
      <SelfContained>true</SelfContained>
      <RuntimeIdentifier>win-x64</RuntimeIdentifier>
      <!-- 若App Service是Linux计划,改为linux-x64 -->
    </PropertyGroup>
    

    重新提交代码部署后,Azure会部署包含运行时的完整包,彻底规避环境版本依赖问题。

另外,你可以通过App Service的「高级工具(Kudu)」查看详细部署日志,确认NuGet还原时是否访问了正确的源,帮助更精准定位问题。

内容的提问来源于stack exchange,提问作者Pedro Cabral

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 07:11:43