繁体   English   中英

如何在我的 Visual Studio Code c# 项目中设置默认的 c# 文件?

[英]How do I set the default c# file in my Visual Studio Code c# Project?

我刚开始使用 Visual Studio Code。 我一直在 Windows 中使用 Visual Studio IDE。我正在尝试使用 VS Code 在 Mac 上运行一个简单的 Hello World 程序。 我运行了以下命令

do.net 新控制台

它使用代码Console.WriteLine("Hello, World;"); 现在,通过发出 do.net 运行命令,我也可以从此程序中获取 output。 但是我在同一项目位置有一个名为“ Hello.cs ”的不同 cs 文件。 如何运行Hello.cs而不是do.net new console命令创建的默认“ Program.cs ”。 我尝试在 .csproj 文件中提供以下属性组,但 VS Code 报告错误这是保留属性。

<PropertyGroup><StartupObject>Hello.HelloWorld</StartupObject></PropertyGroup>

如果您的项目中有多个 CS 文件,是否还有另一种方法可以选择默认启动 CS 文件。

您的应用程序的入口点将是项目默认命名空间中名为Main()的方法。 如果你想改变入口点,你可以重命名你的方法,但更好的方法是简单地在“Program.cs”Main()方法中调用你想从“Hello.cs”运行的代码。

使用 C# 9 顶级语句功能,您只能有一个入口点。 所以你不需要 select 作为默认入口点。 如果要使用此功能,请从其他文件和其他顶级文件中删除所有 Main 方法。

阅读有关顶级语句的更多信息...

do.net new console 命令基于C# 10.0创建一个新的 C# 控制台项目。 这将创建一个 Program.cs 文件,其中包含一个名为Top Level Statement 的内容,但没有 main 方法。 如下所示:

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

请注意,这没有默认的 Main() 方法,该方法通常是 CS 控制台应用程序项目的起始入口点一旦在我的 csProject 的 a.cs 文件中引入此语句,我创建并声明我的经典入口点已定义出于 Entrypoint 的目的,我的Main()方法将被忽略。 <<== 这是一个非常重要的理解点。

我的 Hello.cs 文件包含以下代码:

public static void Main()
    {
        Console.WriteLine("Hello World1");
    }

这被 C# 10.0 编译器忽略了。 [从 C# 9.0 开始就是这种行为]。 https://learn.microsoft.com/en-us/do.net/csharp/fundamentals/program-structure/top-level-statements

现在,要使我的 Hello.CS Main() 方法成为我的 C# 控制台项目的入口点,我所要做的就是摆脱由do.net new console命令自动创建的默认顶级入口点。

现在我在我的 Program.cs 文件中注释掉了这一行

//Console.WriteLine("Hello, World!");

重新运行我的项目[Command+Shift+D]瞧。 我现在正在执行 Hello.cs 中的代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM