【发布时间】:2020-11-18 18:35:27
【问题描述】:
我正在尝试将我的应用从 .NET Core 2.1 迁移到 .NET Core 3.0。我已经看过有关这种迁移的 Microsoft 文档,但我也看过 2 或 3 个教程,它们比它短得多,足以迁移应用程序。
我首先将<TargetFramework> 从netcoreapp2.1 更改为netcoreapp3.0。正如预期的那样,它对所有软件包造成了一些问题,但我通过升级它们或将不推荐使用的方法更改为另一个解决了它。
现在事情变得越来越奇怪了。我尝试运行该应用程序,但出现以下错误:
无法从程序集“Microsoft.AspNetCore.Mvc.Formatters.Json,版本=3.0.0.0”加载类型“Microsoft.AspNetCore.Mvc.MvcJsonOptions”
好的,发生了,这不是我在迁移过程中第一次遇到问题,而且可能不会持续。根据 Stack 上找到的this topic,这是因为 MvcJsonOptions 在 .NET Core 3.0 中已被移除。我试图在我的应用程序中搜索它,但找不到任何代码。猜猜这是一些内部的东西。无论如何,最受好评的解决方案是将 Swashbuckle 更新到 5.0 版,所以我做到了。我的麻烦来了:
- 当我尝试运行应用程序时,我得到“无法绑定到地址 http://localhost:5000”。这很奇怪,因为在我刚刚运行这个应用程序之前几分钟,但在 .NET Core 2.1 中它运行得非常好。我已经使用 netstat 检查了端口,并且端口 5000 没有被任何东西使用。我正在使用 IIS Express。
- 当我更改主机时,我根本无法运行应用程序。它只是永远加载。我设置了一些断点,但一切看起来都很好——它只是遍历了
Startup.cs中的所有代码,但随后它会无限加载。似乎更糟糕的是,我尝试在我的应用程序的另一个副本上更改端口,然后将其迁移到 .NET Core 3.0,它工作得非常好。只需更改appsettings.json和launchsettings.json中的数字即可。
总之,我的应用程序在将其迁移到 .NET Core 3.0 后无法绑定到我的标准地址,当我更改它时,发生了一些非常奇怪的事情并且它无限加载。有什么想法吗?
【问题讨论】:
标签: c# asp.net asp.net-mvc asp.net-core iis-express