百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程网 > 正文

使用 Visual Studio 创建 .NET 类库

yuyutoo 2024-10-12 01:33 2 浏览 0 评论

在本教程中,将创建包含一个字符串处理方法的简单类库。

类库定义的是可以由应用程序调用的类型和方法。 如果库以 .NET Standard 2.0 为目标,则支持 .NET Standard 2.0 的任何 .NET 实现(包括 .NET Framework)均可调用该库。

如果库以 .NET 6 为目标,则以 .NET 6 为目标的任何应用程序均可调用该库。 本教程演示如何以 .NET 6 为目标。

创建类库后,可将其作为 NuGet 包或作为与使用该类库的应用程序捆绑在一起的组件进行分发。

必备条件

安装了具有 .NET 桌面开发工作负载的 Visual Studio 2022 版本 17.0.0 预览版。 选择此工作负载时,将自动安装 .NET 6 SDK。

创建解决方案

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

创建空白解决方案:

启动 Visual Studio。

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

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

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

创建类库项目

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

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

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

在“配置新项目”页的“项目名称”框中,输入“StringLibrary”,然后选择“下一步” 。

在“其他信息”页上,选择“.NET 6 (长期支持)”,然后选择“创建” 。

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

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

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

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

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 以StartsWithUpper的形式进行实现,这样就可以将其作为 String 类成员进行调用。 string 后的问号 (?) 表示该字符串可能为 null。

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

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

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

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

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

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

选择“控制台应用程序”模板,然后选择“下一步” 。

在“配置新项目”页面,在“项目名称”框中输入“ShowCase”。 然后选择“下一步” 。

在“其他信息”页的“框架”框中选择“.NET 6 (长期支持)” 。 然后选择“创建”。

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

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

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(#34;Input: {input}");
            Console.WriteLine("Begins with uppercase? " +
                 #34;{(input.StartsWithUpper() ? "Yes" : "No")}");
            Console.WriteLine();
            row += 4;
        } 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(#34;{Environment.NewLine}Press <Enter> only to exit; otherwise, enter a string and press <Enter>:{Environment.NewLine}");
            row = 3;
        }
    }
}

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

添加项目引用

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

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

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

运行应用

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

按 CtrlF5 编译并运行程序,而不进行调试。

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

4月19日 周二 19:30 .NET云原生挑战赛直播课-第四课【桂素伟-开发基于Docker的.NET 应用】准时开讲,关注51Aspx视频号预约观看

相关推荐

jQuery VS AngularJS 你更钟爱哪个?

在这一次的Web开发教程中,我会尽力解答有关于jQuery和AngularJS的两个非常常见的问题,即jQuery和AngularJS之间的区别是什么?也就是说jQueryVSAngularJS?...

Jquery实时校验,指定长度的「负小数」,小数位未满末尾补0

在可以输入【负小数】的输入框获取到焦点时,移除千位分隔符,在输入数据时,实时校验输入内容是否正确,失去焦点后,添加千位分隔符格式化数字。同时小数位未满时末尾补0。HTML代码...

如何在pbootCMS前台调用自定义表单?pbootCMS自定义调用代码示例

要在pbootCMS前台调用自定义表单,您需要在后台创建表单并为其添加字段,然后在前台模板文件中添加相关代码,如提交按钮和表单验证代码。您还可以自定义表单数据的存储位置、添加文件上传字段、日期选择器、...

编程技巧:Jquery实时验证,指定长度的「负小数」

为了保障【负小数】的正确性,做成了通过Jquery,在用户端,实时验证指定长度的【负小数】的方法。HTML代码<inputtype="text"class="forc...

一篇文章带你用jquery mobile设计颜色拾取器

【一、项目背景】现实生活中,我们经常会遇到配色的问题,这个时候去百度一下RGB表。而RGB表只提供相对于的颜色的RGB值而没有可以验证的模块。我们可以通过jquerymobile去设计颜色的拾取器...

编程技巧:Jquery实时验证,指定长度的「正小数」

为了保障【正小数】的正确性,做成了通过Jquery,在用户端,实时验证指定长度的【正小数】的方法。HTML做成方法<inputtype="text"class="fo...

jquery.validate检查数组全部验证

问题:html中有多个name[],每个参数都要进行验证是否为空,这个时候直接用required:true话,不能全部验证,只要这个数组中有一个有值就可以通过的。解决方法使用addmethod...

Vue进阶(幺叁肆):npm查看包版本信息

第一种方式npmviewjqueryversions这种方式可以查看npm服务器上所有的...

layui中使用lay-verify进行条件校验

一、layui的校验很简单,主要有以下步骤:1.在form表单内加上class="layui-form"2.在提交按钮上加上lay-submit3.在想要校验的标签,加上lay-...

jQuery是什么?如何使用? jquery是什么功能组件

jQuery于2006年1月由JohnResig在BarCampNYC首次发布。它目前由TimmyWilson领导,并由一组开发人员维护。jQuery是一个JavaScript库,它简化了客户...

django框架的表单form的理解和用法-9

表单呈现...

jquery对上传文件的检测判断 jquery实现文件上传

总体思路:在前端使用jquery对上传文件做部分初步的判断,验证通过的文件利用ajaxFileUpload上传到服务器端,并将文件的存储路径保存到数据库。<asp:FileUploadI...

Nodejs之MEAN栈开发(四)-- form验证及图片上传

这一节增加推荐图书的提交和删除功能,来学习node的form提交以及node的图片上传功能。开始之前需要源码同学可以先在git上fork:https://github.com/stoneniqiu/R...

大数据开发基础之JAVA jquery 大数据java实战

上一篇我们讲解了JAVAscript的基础知识、特点及基本语法以及组成及基本用途,本期就给大家带来了JAVAweb的第二个知识点jquery,大数据开发基础之JAVAjquery,这是本篇文章的主要...

推荐四个开源的jQuery可视化表单设计器

jquery开源在线表单拖拉设计器formBuilder(推荐)jQueryformBuilder是一个开源的WEB在线html表单设计器,开发人员可以通过拖拉实现一个可视化的表单。支持表单常用控件...

取消回复欢迎 发表评论: