.NET Core 应用程序部署。

以下各节演示如何使用 Microsoft Visual Studio 创建下列各类部署:

  • 依赖框架的部署
  • 包含第三方依赖项的依赖框架的部署
  • 独立部署
  • 包含第三方依赖项的独立部署

Windows 上 .NET Core 的先决条件。

依赖框架的部署

一个用 C# 编写的简单示例可说明此过程。

  1. 创建项目。

    选择“确定”按钮。

  2. 添加应用程序的源代码。

    它使用正则表达式 \w+ 来将输入文本中的词分开。

    C#
    using System;
    using System.Text.RegularExpressions;
    
    namespace Applications.ConsoleApps
    {
        public class ConsoleParser
        {
            public static void Main()
            {
                Console.WriteLine("Enter any text, followed by <Enter>:\n");
                String s = Console.ReadLine();
                ShowWords(s);
                Console.Write("\nPress any key to continue... ");
                Console.ReadKey();
            }
    
            private static void ShowWords(String s)
            {
                String pattern = @"\w+";
                var matches = Regex.Matches(s, pattern);
                if (matches.Count == 0)
                {
                    Console.WriteLine("\nNo words were identified in your input.");
                }
                else
                {
                    Console.WriteLine($"\nThere are {matches.Count} words in your string:");
                    for (int ctr = 0; ctr < matches.Count; ctr++)
                    {
                        Console.WriteLine($"   #{ctr,2}: '{matches[ctr].Value}' at position {matches[ctr].Index}");
                    }
                }
            }
        }
    }
    
    
  3. 创建应用的调试版本。

    也可通过选择“调试” > “开始调试”来编译和运行应用程序的调试版本。

  4. 部署应用。

    若要从 Visual Studio 发布,请执行以下操作:

    1. 将工具栏上的解决方案配置从“调试”更改为“发布”,生成应用的发布(而非调试)版本。

    2. 在“解决方案资源管理器”中右键单击项目(而非解决方案),然后选择“发布”。

    3. Visual Studio 将包含应用程序的文件写入本地文件系统。

    4. 该配置文件的配置设置显示在选项卡的“摘要”部分。

    生成的文件位于名为 PublishOutput 的目录中,该目录位于项目的 .\bin\release 子目录的子目录中。

但是,如果要调试应用的发布版本,则应保存该文件。

安装成功后,用户可通过使用 dotnet 命令或提供应用程序文件名(如 dotnet fdd.dll)来执行应用程序。

安装共享框架需要管理员/根访问权限,因为它属于计算机范围。

包含第三方依赖项的依赖框架的部署

在生成应用之前,还需执行以下额外步骤:

  1. 要打开包管理器,请选择“工具” > “NuGet 包管理器” > “管理解决方案的 NuGet 包”。

  2. 选择 Newtonsoft.Json,在右侧窗格中选择项目,然后选择“安装”。

  3. 如果系统中已安装 Newtonsoft.Json,请在“管理解决方案包”选项卡的右侧窗格中选择项目,将该项添加到项目。

运行时标识符 (RID) 包含一个文件夹。

不包含第三方依赖项的独立部署

一个用 C# 编写的简单示例可说明此过程。

  1. 创建项目。

    在“名称”文本框中输入项目名称如“SCD”,然后选择“确定”按钮。

  2. 添加应用程序的源代码。

    它使用正则表达式 \w+ 来将输入文本中的词分开。

    C#
    using System;
    using System.Text.RegularExpressions;
    
    namespace Applications.ConsoleApps
    {
        public class ConsoleParser
        {
            public static void Main()
            {
                Console.WriteLine("Enter any text, followed by <Enter>:\n");
                String s = Console.ReadLine();
                ShowWords(s);
                Console.Write("\nPress any key to continue... ");
                Console.ReadKey();
            }
    
            private static void ShowWords(String s)
            {
                String pattern = @"\w+";
                var matches = Regex.Matches(s, pattern);
                if (matches.Count == 0)
                {
                    Console.WriteLine("\nNo words were identified in your input.");
                }
                else
                {
                    Console.WriteLine($"\nThere are {matches.Count} words in your string:");
                    for (int ctr = 0; ctr < matches.Count; ctr++)
                    {
                        Console.WriteLine($"   #{ctr,2}: '{matches[ctr].Value}' at position {matches[ctr].Index}");
                    }
                }
            }
        }
    }
    
    
  3. 定义应用的目标平台。

    1. 在“解决方案资源管理器”中右键单击项目(而非解决方案),然后选择“编辑 SCD.csproj”。

    2. 运行时标识符目录,获取运行时标识符列表。

    例如,以下示例表明应用在 64 位 Windows 10 操作系统和 64 位 OS X 10.11 版本的操作系统上运行。

XML
<PropertyGroup>
    <RuntimeIdentifiers>win10-x64;osx.10.11-x64</RuntimeIdentifiers>
</PropertyGroup>

本节后面部分将显示完整的示例 csproj 文件。

  1. 创建应用的调试版本。

    也可通过选择“调试” > “开始调试”来编译和运行应用程序的调试版本。

  2. 发布你的应用。

    调试并测试程序后,为应用的每个目标平台创建要与应用一起部署的文件。

    若要从 Visual Studio 发布应用,请执行以下操作:

    1. 将工具栏上的解决方案配置从“调试”更改为“发布”,生成应用的发布(而非调试)版本。

    2. 在“解决方案资源管理器”中右键单击项目(而非解决方案),然后选择“发布”。

    3. Visual Studio 将包含应用程序的文件写入本地文件系统。

    4. 该配置文件的配置设置显示在选项卡的“摘要”部分。目标运行时用于标识已发布的运行时,目标位置用于标识独立部署文件的写入位置。

    5. 现在,请执行下列操作,为每个平台重新生成应用程序:

      1. 在“发布”对话框中选择“创建新配置文件”。

      2. 选择“确定”。

      3. 否则,选择“取消”。

      4. 选择“发布”,发布 64 位 Windows 10 平台的应用。

      5. Visual Studio 分配给此配置文件的名称是 FolderProfile2。

    请注意,每个目标位置中都包含启动应用所需的完整文件集(既包含应用文件,又包含所有 .NET Core 文件)。

但是,如果要调试应用的发布版本,则应保存该文件。

例如,可以使用简单的 copy 命令将其打包为 Zip 文件,或者使用选择的安装包进行部署。

下面是此项目完整的 csproj 文件。

XML
<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp1.1</TargetFramework>
    <RuntimeIdentifiers>win10-x64;osx.10.11-x64</RuntimeIdentifiers>
  </PropertyGroup>
</Project>

包含第三方依赖项的独立部署

在生成应用之前,还需执行以下额外步骤:

  1. 要打开包管理器,请选择“工具” > “NuGet 包管理器” > “管理解决方案的 NuGet 包”。

  2. 选择 Newtonsoft.Json,在右侧窗格中选择项目,然后选择“安装”。

  3. 如果系统中已安装 Newtonsoft.Json,请在“管理解决方案包”选项卡的右侧窗格中选择项目,将其添加到项目。

下面是此项目的完整 csproj 文件:

XML
<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp1.1</TargetFramework>
    <RuntimeIdentifiers>win10-x64;osx.10.11-x64</RuntimeIdentifiers>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="Newtonsoft.Json" Version="10.0.2" />
  </ItemGroup>
</Project>

运行应用的系统上不需要第三方库。

这与依赖框架的部署中具有本机依赖项和第三方依赖项相似,其中的本机依赖项不会存在于目标平台上,除非之前在该平台上安装了该依赖项。

 

详细链接:https://docs.microsoft.com/zh-cn/dotnet/core/deploying/deploy-with-vs

相关文章: