在 Visual Studio 2017 中使用 C# 和 .NET Core SDK 生成 .NET Standard 库Build a .NET Standard library with C# and the .NET Core SDK in Visual Studio 2017

本文内容

类库定义的是可以由应用程序调用的类型和方法。借助定目标到 .NET Standard 2.0 的类库,任何支持相应版本 .NET Standard 的 .NET 实现都可以调用库。完成类库时,可以决定是要将其作为第三方组件进行分布,还是要将其作为与一个或多个应用程序捆绑在一起的组件进行添加。

备注

有关 .NET Standard 版本及其支持的平台列表,请参阅 .NET Standard

在本主题中,将创建包含一个字符串处理方法的简单实用工具库。我们将把它作为扩展方法进行实现,这样就可以把它作为 String 类成员进行调用。

创建类库解决方案Creating a class library solution

首先为类库项目及其相关项目创建解决方案。Visual Studio 解决方案只用作一个或多个项目的容器。若要创建解决方案,请执行以下操作:

  • 在 Visual Studio 菜单栏上,选择“文件” > “新建” > “项目”。

  • 在“新建项目”对话框中,展开“其他项目类型”节点,然后选择“Visual Studio 解决方案”。将解决方案命名为“ClassLibraryProjects”,然后选择“确定”按钮。

“新建项目”对话框,其中突出显示新的空白解决方案

创建类库项目Creating the class library project

创建类库项目:

  • 在“解决方案资源管理器”中,右键单击“ClassLibraryProjects”解决方案文件,然后从上下文菜单中选择“添加” > “新项目”。

  • 在“添加新项目”对话框中,展开“Visual C#”节点,并依次选择“.NET Standard”节点和“类库(.NET Standard)”项目模板。在“名称”文本框中,输入项目名称“StringLibrary”。选择“确定”,创建类库项目。

“添加新的库项目”对话框

然后,代码窗口在 Visual Studio 开发环境中打开。

显示默认类库模板代码的 Visual Studio 应用程序窗口

  • 请检查以确保库定目标到 .NET Standard 的正确版本。右键单击“解决方案资源管理器”窗口中的库项目,再选择“属性”。“目标框架”文本框显示定目标到 .NET Standard 2.0。

类库的项目属性

  • 将代码窗口中的代码替换为以下代码,并保存文件:
  1. using System;
  2. namespace UtilityLibraries
  3. {
  4. public static class StringLibrary
  5. {
  6. public static bool StartsWithUpper(this String str)
  7. {
  8. if (String.IsNullOrWhiteSpace(str))
  9. return false;
  10. Char ch = str[0];
  11. return Char.IsUpper(ch);
  12. }
  13. }
  14. }

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

  • 在菜单栏中,选择“生成” > “生成解决方案”。此项目的编译应该没有错误。

显示生成成功的输出窗格

下一步Next step

已成功生成库。由于尚未调用库的任何方法,因此还不知道它能否按预期运行。开发库的下一步是使用单元测试项目测试库。