.Net core 程序Nuget包独立存放 (二)
2021-04-10 18:29
标签:exchange black 程序 rar change 程序集 bit 自适应 log 在上篇博文.Net core 程序Nuget包独立存放(一)中介绍了运行环境中,如何实现将nuget库存放,还有一个问题没有解决:如何将nuget包从publish的程序集中分离。本文就介绍下如何解决这个问题: 首先,利用dotnet store命令,将nuget包导出,同时并生成目标清单。 dotnet store -m test.csproj -r win-x64 --skip-optimization --skip-symbols -o r:\packages 这个命令也可以用于解决方案文件,输出结果如下: test.csproj 的还原在 488.63 ms 内完成。 其中,展示了nuget包的存储路径,以及程序清单文件。
然后,在发布的时候,指定nuget目标清单,则会裁剪对应的程序包。
dotnet publish --manifest r:\packages\x64\netcoreapp3.1\artifact.xml
再配合上文的设置,修改xxx.runtimeconfig.json文件,指定程序搜索路径,即可实现nuget包独立存储。
{ 该路径也可以写成自适应的方式:
"R:\\packages\\|arch|\\|tfm|" 遇到的问题
实际使用中,就会发现,对于稍微大一点的项目,会存在程序集互相依赖的情况,这个时候dotnet store目录非常容易出错。试了各种参数,也没有找到方法解决。正当我准备放弃的时候,发现了另一种途径。
Files were composed in r:\packages\x64\netcoreapp3.1\
The list of packages stored is in r:\packages\x64\netcoreapp3.1\artifact.xml
"runtimeOptions": {
"tfm": "netcoreapp3.1",
"framework": {
"name": "Microsoft.NETCore.App",
"version": "3.1.0"
},
"additionalProbingPaths": [
"R:\\packages\\x64\\netcoreapp3.1"
]
}
}
我的做法是将解决方案的所有Nuget程序包去重后合入一个工程文件,再对这个工程进行dotnet store命令,就非常容易的导出nuget库了。
.Net core 程序Nuget包独立存放 (二)
标签:exchange black 程序 rar change 程序集 bit 自适应 log
原文地址:https://www.cnblogs.com/TianFang/p/12424902.html
上一篇:Websocket模板
下一篇:Windows下maven安装
文章标题:.Net core 程序Nuget包独立存放 (二)
文章链接:http://soscw.com/index.php/essay/73919.html