如何把.net core 打包到nuget

如何把.net core 打包到nuget,第1张

NuGet是个开源项目,项目包括 NuGet VS插件/NuGet Explorer/NuGetServer/NuGet命令行等项目,.NET Core项目完全使用Nuget 管理组件之间的依赖关系,Nuget已经成为.NET 生态系统中不可或缺的一个组件,从项目角度,将项目中各种组件的引用统统交给NuGet,添加组件/删除组件/以及更新组件即可一键完成,大大提升工作效率,减少不必要的引用报错。从运维角度,可在不影响老版本的情况下发布新版本,可统一管理公司各个项目中组件版本不一和各个版本组件的使用情况,减少故障发生以并使得项目稳定运行。

以往做nuget包一般要么用命令行,要么用nuget的图形化界面去做,但是一些 *** 作比较麻烦.比如引入命名空间,引入第三方nuget包。这些在.NET Core项目里却很简单,只需要使用命令行dotnet pack,在.NET Core系列 : 1、.NET Core 环境搭建和命令行CLI入门 做了简要介绍,下面来详细介绍下这个命令。dotnet-pack - 将代码打包成 NuGet 包

一.概要

dotnet pack [--output] [--no-build] [--build-base-path] [--configuration] [--version-suffix] [<project>]

二.描述

dotnet pack 命令生成项目并创建 NuGet 包。这个 *** 作的结果是两个 nupkg 扩展名的包。一个包含代码,另一个包含调试符号。

该项目被依赖的 NuGet 包装被添加到 nuspec 文件,因此,能够在安装包时得到解决。

默认情况下,项目到项目之间的引用是不打包到项目中的。如果想那样做,需要在依赖中引用需要项目的 type 节点设置为 “build” ,设置就像下面的例子:

默认情况下,dotnet pack 首先生成项目。如果想避免这样,传递 --no-build 选项。这在持续集成(CI)构建场景,正如所知道代码仅仅是预生成的示例,是很有用的

三.选项

[project]

打包的项目。还可以是一个 project.json 文件的路径或者是目录。如果忽略,将默认为当前目录。

-o, --output [DIR]

指定生成的目录。

--no-build

打包进程中跳过生成阶段。

--build-base-path

指定临时生成产物的目录。默认情况下,在当前目录的 obj 目录。

-c, --configuration [Debug|Release]

当生成项目时使用的配置。如果没有指定,将默认为 “Debug”。

四.例子

dotnet pack

打包当前项目。

dotnet pack ~/projects/app1/project.json

打包 app1 项目。

dotnet pack --output nupkgs

打包当前的应用程序,并将生成的包放置到指定的文件夹中。

dotnet pack --no-build --output nupkgs

打包当前的项目到指定的文件夹中,并跳过生成步骤

回到在.NET Core系列 :3 、使用多个项目 创建的类库项目DotnetNewLib,切换到DotnetNewLib 目录下执行 dotnet pack命令:

(1)目录结构如下:

上面的结构里把obj目录拿掉了,看到在Debug目录下生成了2个文件DotnetNewLib.1.0.0.nupkg 和DotnetNewLib.1.0.0.symbols.nupkg, 这些就是nuget 包.

(2)版本号信息来自于project.json文件:

(3)但是生成的是Debug,生成Release 版本:

(4)生成了Release目录

在Release目录下 生成了2个文件DotnetNewLib.1.0.0.nupkg 和DotnetNewLib.1.0.0.symbols.nupkg,第一个文件就是想要的nuget包。来看下Nuget 包里的具体内容,可以用NuGet Package Explorer 工具打开DotnetNewLib.1.0.0.nupkg:

里面仅有一个 lib 文件 netstandard1.6 目标配置文件。这意味着, NuGet 包只适用于.Net Core 应用程序 针对 NetStandard1.6 (和即将到来的 4.6.3)。

可以用nuGet来打开。

1、首先需要打开nuGet的文件,如图所示,然后点击左上角的工具-nuGet程序包管理器。

2、然后选择之后,如图所示,再点击如图所示箭头的文字选项。

3、然后d出对话框,点击最右侧的绿色加号就是如图所示的标志。

4、接下来就是添加成功,就会有下面的链接,如图所示,这个时候回车键。

5、最后,就可以看到文件已经打开了,这样 *** 作即可解决问题了。

扩展资料

Nuget是 ASP .NET Gallery 的一员。NuGet 免费、开源的包管理开发工具,专注于在 .NET 应用开发过程中,简单地合并第三方的组件库。

当需要分享开发的工具或是库,需要建立一个Nuget package,然后把这个package放到Nuget的站点。如果想要使用别人已经开发好的工具或是库,只需要从站点获得这个package,并且安装到自己的Visual Studio项目或是解决方案里。

NuGet能更方便地把一些dll和文件(如jquery)添加到项目中,而不需要从文件中复制拷贝。

JQuery:Jquery是继prototype之后又一个优秀的Javascrīpt框架。它是轻量级的js库(压缩后只有21k) ,它兼容CSS3,还兼容各种浏览器 (IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+,Jquery 2.x不支持IE6 ,IE7 ,IE8)。

jQuery使用户能更方便地处理HTML documents、events、实现动画效果,并且方便地为网站提供AJAX交互。

Juice UI:Juice UI是开源的 WebForms 控件集,是一个功能强大的框架,它可以给ASP .NET开发人员带来丰富的、可以作为易于使用的控件的jQuery UI小部件。

Juice项目是由appendTo在与微软和ComponentOne的合作下开发出来的。有了它,就可以在 ASP .NET 项目中轻易地使用流行的 JavaScript 界面库。

Wijmo Open for Juice UI:Wijmo Open for Juice UI是为ASP .NET社区提供一个免费的工具,作为一种对Juice项目的贡献,且为构建丰富的Web应用程序而扩大发行。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11316635.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存