升级.net到6.0

  .NET6.0今年11月初就已发布,但是之前学习、测试.net core还是以.net 5.0为主。近期学习过程中经常遇到基于.net 5.0的项目添加引用时,如果不指定程序集版本,则使用dotnet add package指令添加的程序集是面向最新的.net 6.0使用的版本,基于.net 5.0的项目无法使用。
  基于参考文献1,采用下列命令升级.net,将Ubuntu中的.net版本从5.0升级到6.0。

sudo apt-get update; \
  sudo apt-get install -y apt-transport-https && \
  sudo apt-get update && \
  sudo apt-get install -y dotnet-sdk-6.0

  升级.net6.0后,继续学习最新的ASP.NET Core帮助文档中的EFCore部分,其教程围绕学生选课网站示例展开,该项目基于 SQLite数据库,本人Ubuntu中装的是mysql,于是想要新建项目将微软示例改为基于mysql版本。
  但是基于dotnet new webapp创建新项目后,却发现基于.net 6.0的新项目中少了startup.cs文件,如下图所示,同时Program.cs文件中的代码形式变化也比较大。
升级.net到6.0_第1张图片
升级.net到6.0_第2张图片  最初以为是项目创建的有问题,于是反复创建了几次,都是相同的,后来估计应该是.net版本造成的。于是在VSCode中按指定.net版本的形式创建了基于5.0和6.0的项目,最终发现确实是.net 6.0的项目中没有startup.cs文件。

dotnet new webapp -o test -f net5.0
dotnet new webapp -o test1 -f net6.0

升级.net到6.0_第3张图片
  到微软asp.net core帮助文档的.net 6重大变化中也没有看到相关的说明(可能是这个也算是相对小的改动)。
  基于.net 6.0的项目中,program文件中的代码是将之前program和startup文件中的代码整合到了一起,不过program文件中没有类声明,也没有函数声明,看起来特别不习惯。之前需要在startup文件的ConfigureServices和Configure中添加的代码全部在program中添加。
  微软自带的学生选课网站示例也有了.net 6.0版本(参考文献3),其program文件中的代码如下图所示,就是将之前在program和startup文件中做的事情全部放在了program中。

升级.net到6.0_第4张图片
  后续的asp.net core学习主要根据最新的.net 6.0帮助文档展开。

参考文献:
[1]https://docs.microsoft.com/zh-cn/dotnet/core/install/linux-ubuntu
[2]https://docs.microsoft.com/zh-cn/aspnet/core/data/ef-rp/intro?view=aspnetcore-6.0&tabs=visual-studio-code
[3]https://github.com/dotnet/AspNetCore.Docs/tree/main/aspnetcore/data/ef-rp/intro/samples/cu60
[4]https://devblogs.microsoft.com/dotnet/announcing-net-6/

你可能感兴趣的:(dotnet编程,ubuntu,dotnet)