在 Visual Studio 2017 中使用 Visual Basic 和 .NET Core SDK 生成 .NET Standard 库Build a .NET Standard library with Visual Basic 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”,然后选择“确定”按钮。

Visual Studio“新建测试项目”对话框

创建类库项目Creating the class library project

创建类库项目:

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

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

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

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

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

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

类库的项目属性

  • 另外,在“属性”对话框中,清除“根命名空间”文本框中的文本。对于每个项目,Visual Basic 会自动创建与项目名称对应的命名空间,在源代码文件中定义的任何命名空间都是相应命名空间的父级。我们要使用 namespace 关键字来定义顶级命名空间。

  • 将代码窗口中的代码替换为以下代码,并保存文件:

  1. Imports System.Runtime.CompilerServices
  2. Namespace UtilityLibraries
  3. Public Module StringLibrary
  4. <Extension>
  5. Public Function StartsWithUpper(str As String) As Boolean
  6. If String.IsNullOrWhiteSpace(str) Then
  7. Return False
  8. End If
  9. Dim ch As Char = str(0)
  10. Return Char.IsUpper(ch)
  11. End Function
  12. End Module
  13. End Namespace

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

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

显示生成成功的输出窗格

下一步Next step

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