栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

在 Visual Studio 中创建 .NET Standard 库(生成自己的类库)

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在 Visual Studio 中创建 .NET Standard 库(生成自己的类库)

  Microsoft参考文档链接

在本教程中,将创建包含一个字符串处理方法的简单实用工具库。 我们把它作为扩展方法进行实现,这样就可以把它作为 String 类成员进行调用。类库定义的是可以由应用程序调用的类型和方法。 借助面向 .NET Standard 2.0 的类库,任何支持相应 .NET Standard 版本的 .NET 实现都可以调用库。 完成类库后,可以将其作为第三方组件进行分发,也可以作为与一个或多个应用程序捆绑在一起的组件进行分发。

  • 先决条件

    创建解决方案

    首先,创建一个空白解决方案来放置类库项目。 Visual Studio 解决方案用作一个或多个项目的容器。 将其他相关项目添加到同一个解决方案中。

    创建空白解决方案:

    创建类库项目

    向解决方案添加控制台应用

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

    添加项目引用

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

    运在“解决方案资源管理器”中,右键单击“ShowCase”项目,在上下文菜单中选择“设为启动项目”。

    • 安装了具有“.NET Core 跨平台开发”工作负载的 Visual Studio 2019 版本 16.6 或更高版本。 选择此工作负载时,将自动安装 .NET Core 3.1 SDK。

      有关详细信息,请参阅安装 .NET Core SDK 一文中的在 Visual Studio 中安装部分。

  • 在“Program.cs”或“Program.vb”文件的代码窗口中,将所有代码替换为以下代码 。

  • 将名为“ShowCase”的新 .NET Core 控制台应用程序添加到解决方案。

    1. 在“解决方案资源管理器”中右键单击解决方案并选择“添加” > “新建项目”。

    2. 在“创建新项目”页面,在搜索框中输入“控制台”。 从“语言”列表中选择“C#”或“Visual Basic”,然后从“平台”列表中选择“所有平台”。

    3. 选择“控制台应用 (.NET Core)”模板,然后选择“下一步”。

    4. 在“配置新项目”页面,在“项目名称”框中输入“ShowCase”。 然后选择“创建”。

  • 在菜单栏上,选择“生成” > “生成解决方案”以验证项目是否正确编译 。

  • 将 Class1.cs 或 Class1.vb 代码窗口中的代码替换为以下代码,并保存文件 。 如果未显示想要使用的语言,请更改页面顶部的语言选择器。

    C#复制

    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。

  • 如果使用 Visual Basic,请清除“根命名空间”文本框中的文本。

     

    对于每个项目,Visual Basic 会自动创建一个与项目名称对应的命名空间。 在本教程中,通过使用代码文件中的 namespace 关键字定义顶级命名空间。

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

  • 将名为“StringLibrary”的新 .NET Standard 类库项目添加到解决方案。

    1. 在“解决方案资源管理器”中,右键单击解决方案并选择“添加” > “新建项目” 。

    2. 在“创建新项目”页面上,在搜索框中输入“库”。 从“语言”列表中选择“C#”或“Visual Basic”,然后从“平台”列表中选择“所有平台”。 选择“类库 (.NET Standard)”模板,然后选择“下一步”。

    3. 在“配置新项目”页面,在“项目名称”框中输入“StringLibrary”。 然后,选择“创建”。

  • 在“配置新项目”页面上,在“项目名称”框中输入“ClassLibraryProjects”。 然后选择“创建”。

  • 在“创建新项目”页面上,在搜索框中输入“解决方案”。 选择“空白解决方案”模板,然后选择“下一步”。

  • 在“开始”窗口上,选择“创建新项目”。

  • 启动 Visual Studio。

代码粘贴后会出现好多报错的,,主要是没添加引用,添加之后就会消失,接着看下面吧!

 

C#复制

 

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")}n");
            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("nPress  only to exit; otherwise, enter a string and press :n");
            row = 3;
        }
    }
}

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

该程序会提示用户输入字符串。 它会指明字符串是否以大写字符开头。 如果用户没有输入字符串就按 Enter 键,那么应用程序会终止,控制台窗口会关闭。

  1. 在“解决方案资源管理器”中,右键单击 ShowCase 项目的“依赖项”节点,并选择“添加项目引用” 。

  1. 在“引用管理器”对话框中,选择“StringLibrary”项目,然后选择“确定”按钮 。

  2. 按 Shift+F5 编译并运行程序,而不进行调试。

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

     

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/908917.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号