如何强制 Visual Studio 2022 创建带有命名空间和类的控制台项目(就像过去的美好时光一样)?

Ale*_*ler 28 c# visual-studio

刚切换到VS2022,创建新项目,看到这个:

// See https://aka.ms/new-console-template for more information
Console.WriteLine("Hello, World!");
Run Code Online (Sandbox Code Playgroud)

所有其他东西在哪里?为什么现在默认了?

Cod*_*ter 6

单击链接。它重定向到https://learn.microsoft.com/nl-nl/dotnet/core/tutorials/top-level-templates。其中有一段说:

如果您想使用旧模板,请参阅使用旧程序样式部分。

该部分提到这是新的默认值。要规避它,请创建一个面向 .NET 5 的应用程序,并修改您的项目文件:

-   <TargetFramework>net5.0</TargetFramework>
+   <TargetFramework>net6.0</TargetFramework>
Run Code Online (Sandbox Code Playgroud)

我想一个解决方法是创建一个自定义项目模板。

  • 问题是 - 我想使用 dotnet 6.0 和旧式格式。它没有主方法,没有参数,没有命名空间——什么都没有。现在所有这些东西都需要手写还是什么? (4认同)

Xan*_*vis 6

现在有一个选项可以禁用top-level statements

在此输入图像描述

我刚刚尝试过,它生成了一个旧式项目。:-)
你也不要松动file-scoped namespaces,它们仍然有效。


小智 5

如果您使用的是 Visual Studio,则可以安装经典控制台模板 https://marketplace.visualstudio.com/items?itemName=Doomdied.ClassicConsole1

它将旧的经典控制台重新添加回来,然后您就可以忘记新的控制台。 在此输入图像描述