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

.NET Core 1升级至2版本时app.UseMvc路由异常问题

从 .NET Core 1.x 升级到 2.x 的关键实操细节

我之前帮团队处理过好几次.NET Core版本升级,从1.x到2.x的过渡核心就是项目配置和依赖包的调整,结合你已经完成的操作,给你梳理下完整的关键步骤和注意点:

1. 项目文件(csproj)核心改造

首先要彻底移除旧的project.json相关配置,把目标框架声明更新为.NET Core 2.0:

<PropertyGroup>
  <TargetFramework>netcoreapp2.0</TargetFramework>
</PropertyGroup>

2. 核心NuGet包引用配置

你已经引入了几个关键包,这里补充完整常用的依赖(版本号建议使用官方稳定版):

  • Microsoft.AspNetCore(2.0.2+):AspNetCore核心运行基础库
  • Microsoft.AspNetCore.Mvc(2.0.3+):MVC框架核心组件
  • Microsoft.AspNetCore.Mvc.Razor.ViewCompilation(2.0.3+):Razor视图预编译工具,务必加上PrivateAssets="All"避免传递依赖污染其他项目
  • Microsoft.AspNetCore.StaticFiles(2.0.2+):静态文件服务支持模块

对应的csproj配置片段:

<ItemGroup>
  <PackageReference Include="Microsoft.AspNetCore" Version="2.0.2" />
  <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.0.3" />
  <PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.ViewCompilation" Version="2.0.3" PrivateAssets="All" />
  <PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="2.0.2" />
</ItemGroup>

3. 入口与启动类的适配调整

别忘了更新Program.cs里的WebHost构建逻辑,2.x版本做了简化:

public static IWebHost BuildWebHost(string[] args) =>
    WebHost.CreateDefaultBuilder(args)
        .UseStartup<Startup>()
        .Build();

Startup.cs中的MVC服务注册也要同步更新:

public void ConfigureServices(IServiceCollection services)
{
    services.AddMvc();
    // 其他自定义服务配置...
}

4. 升级后的验证步骤

完成配置后,依次执行以下命令确保升级生效:

  1. dotnet restore:恢复所有依赖包
  2. dotnet build:编译项目排查兼容性错误
  3. dotnet run:启动服务验证功能正常

小提醒:如果项目用到Entity Framework Core,一定要同步升级Microsoft.EntityFrameworkCore相关包到2.x版本,否则会出现版本冲突问题。

内容的提问来源于stack exchange,提问作者Dawood Awan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 12:15:10