在 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”,然后选择“确定”按钮。
创建类库项目Creating the class library project
创建类库项目:
在“解决方案资源管理器”中,右键单击“ClassLibraryProjects”解决方案文件,然后从上下文菜单中选择“添加” > “新项目”。
在“添加新项目”对话框中,展开“Visual Basic”节点,并依次选择“.NET Standard”节点和“类库(.NET Standard)”项目模板。在“名称”文本框中,输入项目名称“StringLibrary”。选择“确定”,创建类库项目。
然后,代码窗口在 Visual Studio 开发环境中打开。
- 请检查以确保库定目标到 .NET Standard 的正确版本。右键单击“解决方案资源管理器”窗口中的库项目,再选择“属性”。“目标框架”文本框显示定目标到 .NET Standard 2.0。
另外,在“属性”对话框中,清除“根命名空间”文本框中的文本。对于每个项目,Visual Basic 会自动创建与项目名称对应的命名空间,在源代码文件中定义的任何命名空间都是相应命名空间的父级。我们要使用
namespace
关键字来定义顶级命名空间。将代码窗口中的代码替换为以下代码,并保存文件:
Imports System.Runtime.CompilerServices
Namespace UtilityLibraries
Public Module StringLibrary
<Extension>
Public Function StartsWithUpper(str As String) As Boolean
If String.IsNullOrWhiteSpace(str) Then
Return False
End If
Dim ch As Char = str(0)
Return Char.IsUpper(ch)
End Function
End Module
End Namespace
类库 UtilityLibraries.StringLibrary
包含 StartsWithUpper
方法,此方法会返回 Boolean 值,以指明当前字符串实例是否以大写字符开头。Unicode 标准会区分大小写字符。如果为大写字符,Char.IsUpper(Char) 方法返回 true
。
- 在菜单栏中,选择“生成” > “生成解决方案”。此项目的编译应该没有错误。
下一步Next step
已成功生成库。由于尚未调用库的任何方法,因此还不知道它能否按预期运行。开发库的下一步是使用单元测试项目测试库。