从.NET CORE2.2升级到3.0过程及遇到的一些问题

RoadFlow工作流引擎从.NET Core2.2升级到3.0遇到了一些问题及解决方式这里记录一下。

1、DLL项目框架从2.2选择到3.0,这个没什么好说的,没有问题。重点的WEB层的一些变化。

  从.NET CORE2.2升级到3.0过程及遇到的一些问题_第1张图片

 

2、将ORM数据包升级到最新,MYSQL升级到8.0。

  从.NET CORE2.2升级到3.0过程及遇到的一些问题_第2张图片

 

 

 

3、WEB项目中路由的不同Startup.cs中:

  2.2:

  从.NET CORE2.2升级到3.0过程及遇到的一些问题_第3张图片

 

   3.0:

  从.NET CORE2.2升级到3.0过程及遇到的一些问题_第4张图片

 

 4、SignalR的不同:

  2.2:

  

 

   3.0统一加到的路由设置中:

  从.NET CORE2.2升级到3.0过程及遇到的一些问题_第5张图片

 

 5、3.0中输出都采用了异步,默认没有开启同步。也不建议开启,改代码采用异步输出。

  从.NET CORE2.2升级到3.0过程及遇到的一些问题_第6张图片

 

 6、这是遇到最大的坑,找了好久才找到原因。

  从.NET CORE2.2升级到3.0过程及遇到的一些问题_第7张图片

 

   这是不要设置,设置了一遇到Request.Form["keyt"]就会报错,不管post的内容多大都会报错,并且是偶发性的,时好时坏。注释掉这里就好了。

  报错内容如下:

  从.NET CORE2.2升级到3.0过程及遇到的一些问题_第8张图片

 

   

  System.IO.InvalidDataException:“Form key length limit 2147483647 or value length limit 2147483647 exceeded.”

7、将发布设置为发布单文件,这样就方便多了,直接双击RoadFlow.Mvc.exe运行,自带core3.0运行时,不需要安装运行环境。

  从.NET CORE2.2升级到3.0过程及遇到的一些问题_第9张图片

 

  发布后的目录也清爽了许多:

  从.NET CORE2.2升级到3.0过程及遇到的一些问题_第10张图片

 

   这只适应演示或不经常改动的程序发布。一但改过就要停止EXE执行再更新。所以生产项目还是建议以不编译视图的方式发布,这样改了视图内容可以及时更新。

  以不编译视图的方式发布:

  在项目上双击设置:

  从.NET CORE2.2升级到3.0过程及遇到的一些问题_第11张图片

 

   并且引用包:Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation

 

  

 

你可能感兴趣的:(从.NET CORE2.2升级到3.0过程及遇到的一些问题)