教程:使用 Visual Studio Code 创建 .NET 类库

在本教程中,你将创建一个简单的实用工具库,其中包含单个字符串处理方法。

类库 定义应用程序调用的类型和方法。 如果库面向 .NET Standard 2.0,则任何支持 .NET Standard 2.0 的 .NET 实现(包括 .NET Framework)都可以调用它。 如果库面向 .NET 9,则任何面向 .NET 9 的应用程序都可以调用它。 本教程演示如何以 .NET 9 为目标。

创建类库时,可以将其分发为第三方组件,也可以将其分发为包含一个或多个应用程序的捆绑组件。

先决条件

安装说明

在 Windows 上,使用此 WinGet 配置文件 来安装所有必备组件。 如果已安装某些内容,WinGet 将跳过此步骤。

  1. 下载该文件,然后双击以运行它。
  2. 阅读许可协议,键入 y,并在系统提示接受时按下 Enter
  3. 如果在任务栏中收到闪烁的用户帐户控制(UAC)提示,请允许安装继续。

在其他平台上,需要单独安装其中每个组件。

  1. .NET SDK 下载页面下载建议的安装程序,然后双击以运行它。 下载页可检测平台,并推荐平台的最新安装程序。
  2. Visual Studio Code 主页下载最新的安装程序,然后双击以运行它。 该页还会检测平台,并且链接应该适合你的系统。
  3. 单击 C# DevKit 扩展页上的“安装”按钮。 这将打开 Visual Studio 代码,并询问是否要安装或启用扩展。 选择“安装”。

创建类库项目

首先创建名为“StringLibrary”的 .NET 类库项目和关联的解决方案。 解决方案充当一个或多个项目的容器。 你将向同一解决方案添加其他相关项目。

  1. 启动 Visual Studio Code。

  2. 转到资源管理器视图并选择 创建 .NET 项目。 或者,可以使用 Ctrl+Shift+P(MacOS 上的 Command+Shift+P)打开命令面板,然后键入“.NET”并查找并选择 .NET:新建项目命令。

  3. 选择命令后,需要选择项目模板。 选择类库。

  4. 然后选择要创建新项目的位置。

  5. 然后选择要创建新项目的位置:创建名为 ClassLibraryProjects 的文件夹,然后选择它。

  6. 将项目命名 StringLibrary,选择 显示所有模板选项,选择 .NET 9,然后选择 创建项目

  7. 将项目命名 StringLibrary,然后选择 创建项目

  8. 在提示符下按下 Enter 键,项目 将在路径 <>中创建。

  9. 检查以确保该库以 .NET 9 为目标。 在 资源管理器中,打开 StringLibrary/StringLibrary.csproj

    TargetFramework 元素显示项目面向 .NET 9.0。

    <Project Sdk="Microsoft.NET.Sdk">
    
      <PropertyGroup>
        <TargetFramework>net9.0</TargetFramework>
      </PropertyGroup>
    
    </Project>
    
  10. 打开 Class1.cs 并将代码替换为以下代码。

    using System;
    
    namespace UtilityLibraries
    {
        public static class StringLibrary
        {
            public static bool StartsWithUpper(this string str)
            {
                if (string.IsNullOrWhiteSpace(str))
                    return false;
    
                char ch = str[0];
                return char.IsUpper(ch);
            }
        }
    }
    

    类库 UtilityLibraries.StringLibrary包含名为 StartsWithUpper的方法。 此方法返回一个 Boolean 值,该值指示当前字符串实例是否以大写字符开头。 Unicode 标准将大写字符与小写字符区分开来。 如果字符为大写,Char.IsUpper(Char) 方法将返回 true

    StartsWithUpper扩展方法的形式进行实现,这样就可以将其作为 String 类成员进行调用。

  11. 保存文件。

  12. 资源管理器 视图底部展开解决方案资源管理器

  13. 右键单击 解决方案资源管理器中的解决方案 并选择 生成,或打开命令面板并选择 .NET:生成 以生成解决方案,并验证项目是否编译时没有错误。

    终端输出如以下示例所示:

    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.
      StringLibrary -> C:\Projects\ClassLibraryProjects\StringLibrary\bin\Debug\net9.0\StringLibrary.dll
    Build succeeded.
        0 Warning(s)
        0 Error(s)
    Time Elapsed 00:00:02.78
    

将控制台应用添加到解决方案

添加使用类库的控制台应用程序。 应用将提示用户输入字符串并报告字符串是否以大写字符开头。

  1. 右键单击解决方案资源管理器 中的解决方案,然后选择 新建项目,或在命令面板中选择 .NET:新建项目

  2. 选择控制台应用。

  3. 为它命名 ShowCase,选择默认位置,然后选择 创建项目

  4. 打开 ShowCase/Program.cs,并将所有代码替换为以下代码。

    using System;
    using UtilityLibraries;
    
    class Program
    {
        static void Main(string[] args)
        {
            int row = 0;
    
            do
            {
                if (row == 0 || row >= 25)
                    ResetConsole();
    
                string? input = Console.ReadLine();
                if (string.IsNullOrEmpty(input)) break;
                Console.WriteLine($"Input: {input} {"Begins with uppercase? ",30}: " +
                                  $"{(input.StartsWithUpper() ? "Yes" : "No")}{Environment.NewLine}");
                row += 3;
            } while (true);
            return;
    
            // Declare a ResetConsole local method
            void ResetConsole()
            {
                if (row > 0)
                {
                    Console.WriteLine("Press any key to continue...");
                    Console.ReadKey();
                }
                Console.Clear();
                Console.WriteLine($"{Environment.NewLine}Press <Enter> only to exit; otherwise, enter a string and press <Enter>:{Environment.NewLine}");
                row = 3;
            }
        }
    }
    

    该代码使用 row 变量来维护写入控制台窗口的数据行数的计数。 每当它大于或等于 25 时,代码将清除控制台窗口并向用户显示消息。

    程序提示用户输入字符串。 它指示字符串是否以大写字符开头。 如果用户在没有输入字符串的情况下按 Enter 键,应用程序将结束,控制台窗口将关闭。

  5. 保存更改。

添加项目引用

最初,新的控制台应用项目无权访问类库。 若要允许它在类库中调用方法,请创建对类库项目的项目引用。

  1. 解决方案资源管理器中,右键单击 ShowCase 项目,然后选择添加项目引用

  2. 选择 StringLibrary。

运行应用

  1. 选择 运行>运行而不调试

  2. 选择C#

  3. 选择 ShowCase

    如果收到错误,指出未加载 C# 程序,请关闭已打开的文件夹,然后打开 ShowCase 文件夹。 然后再次尝试运行应用。

  4. 输入字符串并按 Enter 以试用程序,然后按 Enter 退出

    终端输出如以下示例所示:

    Press <Enter> only to exit; otherwise, enter a string and press <Enter>:
    
    A string that starts with an uppercase letter
    Input: A string that starts with an uppercase letter
    Begins with uppercase? : Yes
    
    a string that starts with a lowercase letter
    Input: a string that starts with a lowercase letter
    Begins with uppercase? : No
    

其他资源

后续步骤

在本教程中,你创建了一个库项目,并添加了使用该库的控制台应用项目。 在下一教程中,将单元测试项目添加到解决方案。