资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

.NETCore中怎么创建和使用NuGet包-创新互联

这篇文章主要讲解了“.NET Core中怎么创建和使用NuGet包”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“.NET Core中怎么创建和使用NuGet包”吧!

成都创新互联不只是一家网站建设的网络公司;我们对营销、技术、服务都有自己独特见解,公司采取“创意+综合+营销”一体化的方式为您提供更专业的服务!我们经历的每一步也许不一定是最完美的,但每一步都有值得深思的意义。我们珍视每一份信任,关注我们的网站建设、成都做网站质量和服务品质,在得到用户满意的同时,也能得到同行业的专业认可,能够为行业创新发展助力。未来将继续专注于技术创新,服务升级,满足企业一站式营销型网站需求,让再小的成都品牌网站建设也能产生价值!

在.NET Core的项目中,如果我们要在项目中引用其它DLL文件,不建议直接在项目引用中添加DLL文件(虽然在.NET Core项目中也可以这么做),建议是去直接下载DLL文件所属的NuGet包。这样较大的好处是我们可以将要引用DLL文件的所有依赖文件也一起引入到项目中,这样保证了引用文件的完整性,让其可以正确地运行。

下面我们通过一个.NET Core类库项目和一个ASP.NET Core项目,来演示怎么发布一个NuGet包,并在项目中引用该NuGet包。

首先我们新建一个.NET Core类库项目"Custom.Library.StringUtils",它包含一个简单的字符串工具类"StringHelper",用来做简单的字符串处理:

using System;
using Newtonsoft.Json;

namespace Custom.Library.StringUtils
{
 /// 
 /// 字符串工具类
 /// 
 public static class StringHelper
 {
  /// 
  /// 将字符串转换为大写
  /// 
  /// 字符串
  /// 大写的字符串
  public static string GetUpperString(string text)
  {
   return text.ToUpper();
  }

  /// 
  /// 将一个对象转换为json字符串
  /// 
  /// 对象
  /// json字符串
  public static string ToJson(object jsonObject)
  {
   return JsonConvert.SerializeObject(jsonObject);
  }
 }
}

注意为了演示我们这个.NET Core类库项目还引用了其它NuGet包,我们在项目中引用和使用了著名的json处理NuGet包:Newtonsoft.Json

.NET Core中怎么创建和使用NuGet包

接下来我们要把类库项目"Custom.Library.StringUtils"发布为一个NuGet包。

首先由于我们在项目中写了很多

注释,我们肯定希望其它的.NET Core项目引用了我们的NuGet包后,也能得到这些的提示,所以我们要在项目属性(Properties)上做一些设置:

.NET Core中怎么创建和使用NuGet包

在项目的属性上,我们选中Build页面,这里有两个地方要进行设置,首先由于我们是要在发布的NuGet包中生成XMLdocumentation文件,来包含

注释,所以我们要将Configuration下拉框选择为All Configurations,这样我们可以在发布(Release)时也生成XMLdocumentation文件,而不仅仅是在调试(Debug)时才生成。然后我们还要确保XML documentation file这个复选框是勾上的,这样当我们的.NET Core类库项目发布后才会生成对应的XML documentation文件:

其次每个NuGet包其实都有版本号,我们可以在Package页面,通过Package version来设置当前NuGet包的版本号为1.0.0,如下所示:

.NET Core中怎么创建和使用NuGet包

然后我们就可以发布我们的.NET Core类库项目"Custom.Library.StringUtils"为NuGet包了,在项目上点击发布(Publish):

.NET Core中怎么创建和使用NuGet包

在弹出的配置窗口中选择一个发布目录,这里我们选择为本地计算机目录"C:\Local nuget repository",这个目录也会作为我们后面本地NuGet包管理器的source,实际上我们还可以选择一台远程计算机的共享目录(例如\\192.168.1.105\Remote nuget packages这种网络共享目录)作为NuGet包的source目录,这样如果我们的开发团队人员是在一个局域网中,就可以让每个开发人员的Visual Studio从局域网的共享目录中获取需要的NuGet包了。

.NET Core中怎么创建和使用NuGet包

点击发布(Publish)后,我们可以在目录"C:\Local nuget repository"下看到,类库项目生成的NuGet文件就已经存在了:

.NET Core中怎么创建和使用NuGet包

注意生成的NuGet文件名中是包含版本号的,例如现在如果我们在项目属性(Properties)中的Package页面上,将Package version改为2.0.0,如下所示:

.NET Core中怎么创建和使用NuGet包

然后再发布.NET Core类库项目,我们可以看到在发布目录"C:\Local nuget repository"下会再生成一个NuGet文件,这次版本号是2.0.0:

.NET Core中怎么创建和使用NuGet包

接下来我们就要在另外一个ASP.NET Core项目中来引用我们创建的NuGet包了,为此,我们新建一个ASP.NET Core项目"AspNetCore3000Message"。

首先我们要配置Visual Studio中寻找NuGet包的source,在Visual Studio中选择Tools > NuGet Package Manager > Package Manager Settings

.NET Core中怎么创建和使用NuGet包

然后在弹出窗口中选中Package Sources页面,然后点击加号新建一个NuGet包source,名称(Name)为"Local nuget package",路径(Source)为我们前面.NET Core类库项目的发布目录"C:\Local nuget repository",如下所示:

.NET Core中怎么创建和使用NuGet包

点击OK按钮后,我们就将一个本地目录设置为了Visual Studio中NuGet包管理器的source了,就像前面所说我们还可以将一台远程计算机的共享目录作为source,这样开发团队人员的Visual Studio都可以从该共享目录中获取NuGet包了。

现在我们在ASP.NET Core项目"AspNetCore3000Message"中,打开NuGet包管理器:

.NET Core中怎么创建和使用NuGet包

然后,我们将右上角的Package source下拉框选择为All,接着在搜索框中输入我们前面发布的.NET Core类库项目名"Custom.Library.StringUtils",就可以找到我们发布的NuGet包了,由于我们前面发布了两个版本到发布目录"C:\Local nuget repository",所以这里显示NuGet包的版本也有两个"1.0.0"和"2.0.0",另外由于我们在.NET Core类库项目"Custom.Library.StringUtils"中引用了Newtonsoft.Json这个NuGet包,所以我们这里看到在Dependencies下面显示我们的NuGet包还依赖于Newtonsoft.Json,这样在安装我们的NuGet包Custom.Library.StringUtils时,也会下载和安装Newtonsoft.Json这个NuGet包,保证了所有依赖的DLL文件都被引用到了ASP.NET Core项目"AspNetCore3000Message"中:

.NET Core中怎么创建和使用NuGet包

这里我们选择安装"2.0.0"版本:

.NET Core中怎么创建和使用NuGet包

之后我们就可以在ASP.NET Core项目中使用.NET Core类库项目中的StringHelper类了,并且可以看到

注释是成功显示的:

.NET Core中怎么创建和使用NuGet包

感谢各位的阅读,以上就是“.NET Core中怎么创建和使用NuGet包”的内容了,经过本文的学习后,相信大家对.NET Core中怎么创建和使用NuGet包这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联网站建设公司,,小编将为大家推送更多相关知识点的文章,欢迎关注!


名称栏目:.NETCore中怎么创建和使用NuGet包-创新互联
分享网址:http://cdkjz.cn/article/ihdee.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:400-028-6601 / 大客户专线   成都:13518219792   座机:028-86922220