NuStore使用说明
简介
.net core 部署有两种方式,一种是独立式部署(SCD),另一种是框架依赖式部署(FDD)。以SCD方式生成发布包时,dotnet会将所有依赖打包到一个文件夹内,并为应用程序生成可执行文件。以FDD方式部署的程序是不用安装.net core 运行时的,而在FDD模式下需要安装对应版本的.net core 运行时,两者的区别可参考:.net core application deployment。
用VS开发时,默认采用的是FDD模式,但将发布包部署到服务器上时可能会出现以下错误:
assembly specified in the dependencies manifest was not found
导致这个问题的原因是VS默认以 manifest的方式打包,对于本地Store中存在的公共包将不会被包含在发布包中,只会将其记录入*.deps.json文件中。所以当开发机与服务器Store目录中的包不一致时就会出现以上问题。一般的解决办法是将PublishWithAspNetCoreTargetManifest
改为false
,以停用manifest文件,但这会导致发布包变得无比巨大(虽然比SCD生成的文件少,但也会有200+的文件),当然我们也可以让编译服务器与部署服务器的Store环境一致或指定manifest文件来解决以上问题。对于本地Store的作用可参考: Runtime package store
上文已经了解到Store的作用,其实我们手动将缺少的或未被包含在发布包的中Package拷到Store目录也可以解决问题。既然如此,NuStore作用就是:自动完成deps文件分析并从NuGet中下载依赖包,然后将其放入Store目录,这样发布包只需要包含不属于NuGet的包即可,最大化的减小发布包的体积。
安装
dotnet tool install -g NuStore
更新
dotnet tool update -g NuStore
卸载
dotnet tool uninstall -g NuStore
用法
nustore verb [options]
直接使用nustore restore
命令时,工具会加载当前目录中的*.deps.json文件,并将下载的包保存到 usr/local/share/dotnet/store目录(macOS/Linux)或 C:/Program Files/dotnet/store目录中(Windows)。使用nustore --help
可获取更多帮助。
.netcore2.1在centos下的安装目录为/usr/share/dotnet/,但微软官方文档为:usr/local/share/dotnet/store。所以在linux环境下使用时,请使用--dir参数指定为正确的目录。
参数
Verbs
restore 下载所有依赖包
minify 精简当前发布包
restore Options
选项 |
说明 |
-p --deps |
指定deps文件。默认搜索当前目录中的*.deps.json文件 |
-d --dir |
将包下载到指定的目录中。默认usr/local/share/dotnet/store目录(macOS/Linux)或 C:/Program Files/dotnet/store目录中(Windows) |
-f --force |
是否覆盖已下载的包,默认为否 |
--nuget |
指定NuGet Api服务地址。默认: https://api.nuget.org/v3/index.json |
-e --exclude |
排除指定的包,支持正则,多个要件使用分号分隔 |
-s --special |
下载指定的包,支持正则,多个条件使用分号分隔 |
--runtime |
netcoreapp2.0/netcoreapp2.1,默认从deps文件中分析 |
--arch |
x64/x86,默认从deps文件中分析 |
--verbosity |
显示详细日志 |
--help |
获取restore的帮助信息 |
当--special与--exclude都存在时,先判断是否为Special包,再判断是否为Exclude包
示例
使用 e:/nustore/test.deps.json依赖文件,排除所有名称以Micosoft.和System开头的包,但下载Microsoft.Extensions.Logging包或其它包。
nustore restore --dir="e:/nustore" --deps="e:/nustore/test.deps.json" --exclude="^microsoft.*;^System.*" -s "Microsoft\.Extensions.Logging"
代码
https://github.com/aspark/nustore
原文地址:https://aspark.gitbook.io/nustore
.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com
NuStore使用说明相关推荐
- abaqus高性能服务器怎么用,高性能计算平台ABAQUS任务调度使用说明作者陈林E-Mailchenlin.PDF...
高性能计算平台ABAQUS任务调度使用说明作者陈林E-Mailchenlin.PDF 高性能计算平台ABAQUS 任务调度使用说明 作者:陈林 E-Mail:chenlin@ 日期:2017-1-10 ...
- linux 文件拷贝并替换,Linux_cmd replace 文件替换使用说明,帮助信息: 复制代码 代码如 - phpStudy...
cmd replace 文件替换使用说明 帮助信息: 复制代码 代码如下: 替换文件. REPLACE [drive1:][path1]filename [drive2:][path2] [/A] [ ...
- Simple Dynamic Strings(SDS)源码解析和使用说明二
在<Simple Dynamic Strings(SDS)源码解析和使用说明一>文中,我们分析了SDS库中数据的基本结构和创建.释放等方法.本文将介绍其一些其他方法及实现.(转载请指明出于 ...
- Delphi开发的IOCP测试Demo以及使用说明。
Delphi开发的IOCP,此为压力测试Demo和使用说明.
- oracle database link mysql_oracle database link使用说明
oracle database link使用说明 作用: 将多个oracle数据库逻辑上看成一个数据库,也就是说在一个数据库中可以操作另一个数据库中的对象. 简易语法: CREATE [PUBLIC] ...
- 序列拼接工具Bowtie使用说明
序列拼接工具Bowtie使用说明 2011-06-08 ~ ADMIN Bowtie是一个超级快速的,较为节省内存的短序列拼接至模板基因组的工具.它在拼接35碱基长度的序列时,可以达到每小时2.5亿次 ...
- benchmarksql测试mysql_数据库压力测试工具 -- BenchmarkSQL 使用说明
关于数据库的压力测试,之前写过3篇Blog: 数据库基准测试(Database Benchmarking) 说明 数据库压力测试工具 -- Hammerdb 使用说明 数据库压力测试工具 -- Swi ...
- 计算机网页基础课专业,关于《计算机应用基础》课程网页下的学习资源使用说明....
关于<计算机应用基础>课程网页下的学习资源使用说明. 关于<计算机应用基础>课程网页下的学习资源使用说明 各位同学:大家好! 07春学期已接近一半的时间了,新生对课程还需要更多 ...
- gh ost mysql_MySQL在线DDL gh-ost 使用说明
3)使用说明:条件是操作的MySQL上需要的binlog模式是ROW.如果在一个从上测试也必须是ROW模式,还要开启log_slave_updates.根据上面的参数说明按照需求进行调整. 环境:主库 ...
最新文章
- python基础--函数
- 如何看待消息中间件的选型
- 服务器手工修改虚拟内存,服务器修改虚拟内存
- Java学习从入门到精通
- go的25个关键字(保留字)和36个预定标识符
- android修改xml变量值,Android中XML的基本操作(增、删、改、查)
- Halcon算子翻译——default
- Go_ go mod 命令解决墙的问题
- C#反射基础理解1(转)
- linux mount 日志,mount
- 技术篇-符号制作-标记符号制作
- Bailian2738 实数加法【数学】
- 设计一个具有大纯时延时间的一阶惯性环节的计算机控制系统,计算机控制课程设计——大纯时延一阶惯性环节温度控制系统...
- 系统集成项目管理工程师13《项目配置管理》
- hao916,hao123,2345.com浏览器劫持-分析与清除
- VirtualBox 安装虚拟机步骤
- 2020双周训练训练日志
- EA 2022 HSN Plugfest- UNH-IOL以太网联盟高速以太网插拔互操作性测试活动[多图] 400G/800G/112G PAM4
- 菜鸟成长手册:路由器技术深入剖解
- Python 组织机构代码证校验
热门文章
- Linux之ACL权限控制
- Mysql身份认证漏洞及利用(CVE-2012-2122) 补充测试用例
- mysql导入sql脚本命令
- Xamarin效果第十四篇之玩耍GIS
- 【另类见解】一致性哈希就能解决分库分表问题了?
- .NET 大会今日开幕 |这些白嫖福利不看肠子都悔青
- 这是“我”的故事 —— 董彬
- 企业级精致 Blazor 套件 BootstrapBlazor 介绍
- [开源] .Net ORM FreeSql 1.10.0 稳步向前
- 一名“企业定制化人才”的自诉:“我不愿意,但却无可奈何”