.Net 8 通过命令行新建一个 Console 程序

文章目录

    查看帮助

    > dotnet new
    
    “dotnet new” 命令基于模板创建 .NET 项目。
    
    常用模板包括:
    模板名            短名称    语言        标记
    ----------------  --------  ----------  ----------------------
    Blazor Web 应用   blazor    [C#]        Web/Blazor/WebAssembly
    Windows 窗体应用  winforms  [C#],VB     Common/WinForms
    WPF 应用程序      wpf       [C#],VB     Common/WPF
    控制台应用        console   [C#],F#,VB  Common/Console
    类库              classlib  [C#],F#,VB  Common/Library
    
    例如:
       dotnet new console
    
    通过以下方式显示模板选项:
       dotnet new console -h
    通过以下方式显示已安装的所有模板:
       dotnet new list
    通过以下方式显示 NuGet.org 上可用模板:
       dotnet new search web
    

    新建一个 .net console 程序

    如果不指定目录名,就是在当前目录下创建项目,所以还是手动创建一个目录比较好。

    > mkdir dotnet_upload
    > cd .\dotnet_upload\
    > dotnet new console
    
    已成功创建模板“控制台应用”。
    
    正在处理创建后操作...
    正在还原 D:\work\dotnet_upload\dotnet_upload.csproj:
      Determining projects to restore...
      已还原 D:\work\dotnet_upload\dotnet_upload.csproj (用时 76 毫秒)。
    已成功还原。
    

    默认的目录结构

    > tree
    .
    ├── Program.cs  // 代码文件
    ├── bin
    │   └── Debug
    │       └── net8.0
    ├── dotnet_upload.csproj
    ├── dotnet_upload.sln
    └── obj
        ├── Debug
        │   └── net8.0
        │       ├── dotnet_upload.AssemblyInfo.cs
        │       ├── dotnet_upload.AssemblyInfoInputs.cache
        │       ├── dotnet_upload.GeneratedMSBuildEditorConfig.editorconfig
        │       ├── dotnet_upload.GlobalUsings.g.cs
        │       ├── dotnet_upload.assets.cache
        │       ├── ref
        │       └── refint
        ├── dotnet_upload.csproj.nuget.dgspec.json
        ├── dotnet_upload.csproj.nuget.g.props
        ├── dotnet_upload.csproj.nuget.g.targets
        ├── project.assets.json
        └── project.nuget.cache
    
    8 directories, 13 files
    

    默认生成的初始代码

    文件 Program.cs 包含了 hello world 代码。

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

    非常简洁,连 main 函数都不需要了。

    当然,原来的 Main 函数的写法还是支持的,只不过这里新增了一种写法,就是自上至下直接执行的写法,在文件最后还可以加上 return 0 这种返回操作。哈哈,与时俱进。

    注意,此时要读取命令参数,可以使用全局变量 args。

    参考:
    https://learn.microsoft.com/zh-cn/dotnet/csharp/fundamentals/program-structure/main-command-line

    运行

    > dotnet run
    Hello, World!
    

    VS Code 安装插件

    如果想在 VS Code 中编写 .NET 程序,可以安装插件:

    .NET Extension Pack

    自动创建 .gitignore 文件

    因为这种需要编译的语言,会产生大量的调试文件和编译后的文件,所以在用 git 管理时,需要一个默认的 gitignore 文件,过滤不需要提交版本控制的文件。而 dotnet 非常贴心的提供了这个功能。

    > dotnet.exe new gitignore
    已成功创建模板“dotnet gitignore 文件”。
    

    关于作者 🌱

    我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊,或者关注我的个人公众号“大象工具”, 查看更多联系方式