没有 csproj 的 C# 9 顶级程序?

C# 9 top-level programs without csproj?

即将到来的 C# 9 的一个特性是所谓的顶级程序。这样您就可以在没有 类.

的情况下编写以下内容
using System;

Console.WriteLine("Hello World!");

dotnet run 将为您启动它。

它对我有用,但前提是我还添加了一个如下所示的 .csproj 文件

<Project Sdk="Microsoft.NET.Sdk">
    <PropertyGroup>
        <OutputType>Exe</OutputType>
        <TargetFramework>net5.0</TargetFramework>
    </PropertyGroup>
</Project>

有没有办法从图片中跳过.csproj? :) 所以只有一个 Program.cs 文件,仅此而已。

不,没有。 csproj 文件,向编译器解释要生成什么样的输出。

它还引用了任何需要的库,在您的情况下是 SDK:https://docs.microsoft.com/en-us/dotnet/core/tools/csproj

Metapackages are implicitly referenced based on the target framework(s) specified in the <TargetFramework> or <TargetFrameworks> property of your project file.

没有它,net core 将丢失有关构建什么以及如何构建的信息。您甚至没有对 System 可用命名空间的引用。

您可以创建一个 C# 脚本文件 (.csx) 并运行它使用来自

dotnet script工具

https://github.com/filipw/dotnet-script

但不是真实有效的 C# 文件