Visual Studio 默认情况下禁用.NET 6功能

jpfvwuh4  于 2022-11-25  发布在  .NET
关注(0)|答案(2)|浏览(283)

使用.NET 6在VS 2022中创建新项目时,将自动添加以下新功能:

  • 顶级语句
  • 隐式Using和可为空的引用

是否有一种方法可以创建.NET 6项目

  • 没有顶层陈述式(除了建立.NET 5项目并将项目类型变更为.NET 6之外的替代方法)
  • 禁用隐式usings和可为空的引用(每次创建项目后不编辑项目文件)
gzszwxb4

gzszwxb41#

A.可为null的指涉型别-保留它们

我建议保留可空引用类型。我会回显Embracing nullable reference types,并说所有新代码都应该使用它。下面是原始语句:
当.NET 5推出时,如果我们认为可空性的推出阶段已经成功,我可以看到我们在Visual Studio中为新项目默认启用了该功能。如果生态系统已经准备好了,那么任何新代码都没有理由忽视您从可空性注解中获得的改进的安全性和可靠性!

B.顶级语句

2022年5月更新

VS 2022 17.3.0(Preview 1.1)支持在创建控制台应用时禁用顶级语句:

原始
以.net5框架为目标并编辑项目文件是使用 * 旧程序风格 * 的正式方式。
请参阅使用旧程式样式。
虽然.NET 6主控台应用程序模板会产生最上层陈述式程式的新样式,但使用.NET 5则不会。建立.NET 5项目后,您会收到旧的程式样式。然后,您可以编辑项目档以针对.NET 6,但保留Program.cs档的旧程式样式。

使新程序更简单的功能是顶级语句、全局using指令和隐式using指令。
顺便说一句,请直接在gihub中为官方的Should the console project template use top-level statements投票:

hmae6n7t

hmae6n7t2#

在创建www.example.com核心Web应用程序时,只需选中“不要使用顶级语句”asp.net。我不确定,但这个顶级语句比其他任何东西都更容易引起混乱。
微软请保持简单和可用的东西,因为他们是。很多新的c#功能正在成为像在typescript/javascript或node.js风格。我明白,但添加的东西是清晰和可用的。

相关问题