指定要用dotnet CLI构建的cs文件



假设我的当前工作目录中有两个文件:

// file1.cs
Console.WriteLine("file1");
//file 2.cs
Console.WriteLine("file2");

在powershell中,我执行dotnet new并删除自动生成的Program.cs文件。然后我做一个dotnet build,得到一个错误:

只有一个编译单元可以有顶级语句

我理解为什么会发生这种情况,但我希望能够完全控制哪个.cs文件是针对的,而其他的被忽略。

有没有办法实现这一点,而不必为每个文件创建一个全新的项目?

目前在。net中这样做似乎是不可能的。dotnet/sdk GitHub上的一个问题要求实现此功能。

然而,你可以使用C Sharp编译器来编译一个Windows可执行文件,并使用csc file1.cs

指定一个。cs文件
file1.cs:
using System;
Console.WriteLine("File 1");

https://learn.microsoft.com/en-us/dotnet/csharp/fundamentals/program-structure/top-level-statements

这两个文件都使用顶级语句。这意味着它们都包含程序执行开始的Main方法。你只能有一个入口点。一般来说,c#代码将包含在类中。在一个(或两个)文件中定义一个类,并将方法放在其中。

// Program.cs
public class Program
{
static void Main()
{
Console.WriteLine("Program.cs");
}
}
// Util.cs
public class Util
{
public static void Display()
{
Console.WriteLine("Util.cs");
}
}

最新更新