教程:使用 Visual Studio Code 发布 .NET 控制台应用程序

本教程演示如何发布控制台应用,以便其他用户可以运行它。 发布将创建运行应用程序所需的文件集。 若要部署文件,请将其复制到目标计算机。

.NET CLI 用于发布应用,因此,如果需要,可以使用 Visual Studio Code 以外的代码编辑器按照本教程进行操作。

先决条件

发布应用

  1. 启动 Visual Studio Code。

  2. 打开在使用 Visual Studio Code 创建 .NET 控制台应用程序中创建的 HelloWorld 项目文件夹

  3. 从主菜单中选择“视图”>“终端”

    终端将在 HelloWorld 文件夹中打开。

  4. 运行以下命令:

    dotnet publish
    

    默认的构建配置为 Release,适用于在生产环境中运行的已部署站点。 发布版本配置的输出包含非常少的符号调试信息,并已完全优化。

    命令输出类似于以下示例:

    Microsoft (R) Build Engine version 17.8.0+b89cb5fde for .NET
    Copyright (C) Microsoft Corporation. All rights reserved.
      Determining projects to restore...
      All projects are up-to-date for restore.
      HelloWorld -> C:\Projects\HelloWorld\bin\Release\net8.0\HelloWorld.dll
      HelloWorld -> C:\Projects\HelloWorld\bin\Release\net8.0\publish\
    

检查文件

默认情况下,发布过程会创建依赖于框架的部署,这是一种部署,其中已发布的应用程序在安装了 .NET 运行时的计算机上运行。 若要运行已发布的应用,可以使用可执行文件,或从命令提示符运行 dotnet HelloWorld.dll 命令。

在以下步骤中,你将查看发布过程创建的文件。

  1. 在左侧导航栏中选择“资源管理器”

  2. 展开 bin/Release/net8.0/publish

    显示已发布文件的资源管理器

    如下图所示,已发布的输出包含以下文件:

    • HelloWorld.deps.json

      这是应用程序的运行时依赖项文件。 它定义运行应用所需的 .NET 组件和库(包括包含应用程序的动态链接库)。 有关详细信息,请参阅 运行时配置文件

    • HelloWorld.dll

      这是应用程序的依赖于框架的部署版本。 若要运行此动态链接库,请在命令提示符处输入 dotnet HelloWorld.dll。 运行应用的方法适用于安装了 .NET 运行时的任何平台。

    • HelloWorld.exeHelloWorld 在 Linux 或 macOS 上)。

      这是应用程序的依赖于框架的可执行文件版本。 该文件特定于操作系统。

    • HelloWorld.pdb(对于部署是可选的)

      这是调试符号文件。 无需与应用程序一起部署此文件,但应在调试应用程序的已发布版本时保存该文件。

    • HelloWorld.runtimeconfig.json

      这是应用程序的运行时配置文件。 它标识了您的应用程序是为哪个 .NET 版本构建和运行的。 还可以向其添加配置选项。 有关详细信息,请参阅 .NET 运行时配置设置

运行已发布的应用

  1. 在“资源管理器”中,右键单击“发布”文件夹(在 macOS 上按住 Ctrl 单击),然后选择“在集成终端中打开”

    在终端中打开的上下文菜单 显示“在终端中打开”的上下文菜单

  2. 在 Windows 或 Linux 上,使用可执行文件运行应用。

    1. 在 Windows 上输入 .\HelloWorld.exe,然后按 Enter

    2. 在 Linux 上输入 ./HelloWorld,然后按 Enter

    3. 输入名称以响应提示,然后按 Enter 退出。

  3. 在任何平台上,使用 dotnet 命令运行应用:

    1. 输入 dotnet HelloWorld.dll,然后按下 ,再按

    2. 输入名称以响应提示,然后按 Enter 退出。

其他资源

后续步骤

在本教程中,你发布了控制台应用。 在下一教程中,你将创建一个类库。

使用 Visual Studio Code 创建 .NET 类库