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

  1. restore  下载所有依赖包

  2. 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

640?wx_fmt=jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/320643.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【DP】【高精】逆序对(jzoj 2014)

逆序对 jzoj 2014 题目大意: 有一个长为n的序列(由1,2,3,……n组成),问经过某种调整之后,有k个逆序对(即在前面的一个数大于后面的一个数这样的对)的种数,有多组数据,…

Codeforces274B

Codeforces274B 做法:树形dp,\(up[u]\)至少加多少次, \(down[u]\) 至少减多少次可以消去u这棵子树 转移:首先\(up[u] max(up[v]), down[u] max(down[u])\),因为为了消除整颗子树一定要选最多的次数才能消完,那么现在…

HttpClientFactory与Steeltoe结合来完成服务发现

前言上一篇说了一下用HttpClientFactory实现了简单的熔断降级。这篇就来简单说说用HttpClientFactory来实现服务发现。由于标题已经好明显的说了Steeltoe因此这里会要求有Spring Clound的相关环境,本文也默认各位对这里有些许了解,所以不会涉及搭建过程的…

P4149-[IOI2011]Race【点分治】

正题 题目链接:https://www.luogu.com.cn/problem/P4149 题目大意 nnn个点的一棵树,求一条边最少的权值和为kkk的路径。 解题思路 直接点分治,然后用mapmapmap记录每个权值和的最小边数转移即可。 时间复杂度O(nlog⁡2n)O(n\log^2 n)O(nlog2n) codecod…

【并查集】【最小生成树】【贪心】给水(jzoj 2015)

给水 jzoj 2015 题目大意: 有n个草地,可以在某些草地各安装一个水井,代价是aia_iai​,或者从别的草地运水过来,代价是pijp_{ij}pij​,现在问要让所有草地都有水,代价最少是多少 样例输入 4…

业务流程、长周期服务和微服务

在近期于伦敦Skills Matter举行的DDD eXchange 2018会议上,Martin Schimak认为在最近几年间,领域事件引发了越来越多的讨论,但是我们对命令也应如此,在这次会议上他讨论了微服务领域的事件、命令以及长周期的服务,以及…

Gym100187I

Gym100187I 做法:倒着构造,根据下一个数确定正负,本身这个位置确定升降,正就从1开始,负就从-1开始。最终序列从1e9开始,特殊处理一下,中间判是否越界即可。 水吧。。。然后就爆炸了,…

P3708-koishi的数学题【差分】

正题 题目链接:https://www.luogu.com.cn/problem/P3708 题目大意 定义f(x)∑i1nx%if(x)\sum_{i1}^nx\% if(x)∑i1n​x%i 求每个f(i)f(i)f(i) 解题思路 考虑枚举模数iii,对与每个xxx会产生x%ix\% ix%i的贡献,也就是对与连续的一段是0,1,2,3,...i−10…

纪中C组模拟赛总结(2019.7.6)

成绩: 注:rankrankrank是有算其他dalaodalaodalao的 rankrankranknamenamenamescorescorescoreT1T1T1T2T2T2T3T3T3T4T4T4222lyflyflyf120120120101010101010000100100100121212fyfyfy404040000404040000000121212wjjwjjwjj4040400002020200002020202828…

【数位DP】B-number(HDU 3652)

B-number HDU 3652 题目大意&#xff1a; 有一个数n&#xff0c;求出1~n中含‘13’且能被13整除的数有多少个 输入样例 13 100 200 1000输出样例 1 1 2 2解题思路&#xff1a; 用数位DP枚举完每一位&#xff0c;同事也判断题目要求的条件 数据范围&#xff1a; 1 <…

#20071-[NOIP2020模拟赛B组Day6]礼物购买【二分】

正题 题目链接:http://noip.ybtoj.com.cn/contest/105/problem/1 题目大意 nnn个物品&#xff0c;每个价格为viv_ivi​有xix_ixi​个&#xff0c;mmm次&#xff0c;开始有wiw_iwi​元。每次选择能买的最贵的买&#xff0c;求能买多少。 解题思路 分两种情况讨论&#xff0c;如…

.NET Core TDD 前传: 编写易于测试的代码 -- 构建对象

该系列第1篇: 讲述了如何创造"缝". "缝"(seam)是需要知道的概念.本文是第2篇, 介绍的是如何避免在构建对象时写出不易测试的代码. 本文的概念性内容大部分都来自Misko Hevery的这篇博客文章.构建还是用上文里汽车的例子.通常情况下, 我们是先去建造汽车, …

Gym100187B

Gym100187B \(n\)&#xff1a;表示字符的种类&#xff1b;\(a_i\)&#xff1a;表示单词i的个数&#xff1b;\(Len\)&#xff1a;表示串的长度&#xff1b; 先考虑一种单词\(a_i\)放在一个固定位置p对答案的贡献: 整一个串的全排类为&#xff1a;\[P \frac{Len!}{a_1!a_2!...a_…

【线段树】开关(luogu 3870)

开关 luogu 3870 题目大意&#xff1a; 有n个灯&#xff0c;每一次会按一个区间中的所有灯&#xff08;开变关&#xff0c;关变开&#xff0c;操作0&#xff09;&#xff0c;或询问某个区间中有多少个灯是亮着的&#xff08;操作2&#xff09;&#xff0c;按操作进行&#x…

HDU4455

HDU4455 做法&#xff1a;照着学姐的ppt做的。\(f[i]\)表示长度为i时的答案&#xff0c;考虑如何通过\(f[i-1]\)递推出\(f[i]\) eg:\(f[3] \rightarrow f[4]\) (1 1 2) 3 4 4 5 1 1 2 \(\rightarrow\) 1 1 2 3 :1 1 2 3 \(\rightarrow\) 1 2 3 4 :1 2 3 4 \(\rightarrow\) 2 3 …

YbtOJ#20072-[NOIP2020模拟赛B组Day6]相似子串【根号分治】

正题 题目链接:http://noip.ybtoj.com.cn/contest/105/problem/2 题目大意 一个010101串&#xff0c;qqq个询问&#xff0c;每次询问有多少个长度为mmm的子串010101个数与给出的010101串TTT相同 解题思路 因为询问串的总长与nnn同级&#xff0c;所以考虑根号分治 将询问的TT…

构建可扩展的有状态服务

原文链接&#xff1a;http://highscalability.com/blog/2015/10/12/making-the-case-for-building-scalable-stateful-services-in-t.html在很长一段时间内&#xff0c;分布式系统都采用无状态服务作为分布式系统扩展的最佳实践。它可以通过简单的循环负载均衡来提供扩展能力。…

51nod1743-雪之国度【最小生成树,LCA,并查集】

正题 题目链接:http://www.51nod.com/Challenge/Problem.html#problemId1743 题目大意 nnn个点mmm条边的一张图&#xff0c;每次询问要求找出x,yx,yx,y直接的两条不重路径的最大值最小。 解题思路 首先第一条路径肯定是最小生成树上的路径&#xff0c;所以我们先求出最小生成…

树莓派3B+,我要跑.NET CORE

前面的话我也不知道为什么&#xff0c;看到.net core觉得很爽&#xff0c;可以真正的跨平台&#xff0c;个人觉得很喜欢&#xff0c;所以就准备拿树莓派来验证我的想法。在我写这篇文章的时候&#xff0c;刚好在树莓派上装好了core2.1&#xff0c;先上结果。一、基础准备从板子…

Codeforces1019C

Codeforces1019C 题意&#xff1a;一张无自环的有向图&#xff0c;请找出一个点集Q&#xff0c;满足Q内的点不能互相有边&#xff0c;且Q内的点一定可以通过1次或2次移动&#xff0c;到达Q集合以外的任意一个点。 做法&#xff1a;思路神奇。做法就是编号小到大枚举选的点&…