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

标签 c# c#-9.0

即将推出的 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 的引用。可用的命名空间。

关于没有 csproj 的 C# 9 顶级程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64399484/

相关文章:

java - 简单的 android 和 ASP.NET 组合

c# - 数据绑定(bind)是否支持 Windows 窗体中的嵌套属性?

c# - Renci.SshNet:在30000毫秒内建立连接失败

c# - C# 9 中的 Init-Only 和 ReadOnly 有什么区别?

c# - VS Code IntelliSense在C#9.0上失败

c# - 如何读取 C# app.config 文件中的多个值?

c# - 代码分析 AvoidExcessiveComplexity - 只是设置命令

c# - .NET 6 中的 using 语句/指令在哪里

c# - ReSharper 2020.2.4在C#9.0记录上失败

c# - 组合属性 setter "init and private"(C#9)