离线环境使用NuGet
更新记录
本文迁移自Panda666原博客,原发布时间:2021年5月13日。
在Visual Studio中直接使用GUI的方式操作NuGet包非常的方便。如果喜欢命令行,也可以使用包管理控制台或者.NET CLI。对于线上的包,直接可以搜索进行安装。但有时候我们的一些私有的包存储在本地局域网内。想使用这些包也非常方便,具体操作如下。
过程中使用到的工具:
- Visual Studio 2019 Enterprise
- Visual Studio Code
- PowerShell,不是必须的。可以用CMD代替。
关于NuGet#
如果您已经安装了VS 2017及以上版本的Visual Studio。默认已经自带NuGet包管理程序。
如果没安装VS。请到:https://www.nuget.org/downloads 自行进行下载安装NuGet包管理程序。
生成一个测试使用的NuGet包#
注意:除了自己生成一个测试包,也可以是Nuget.org上下载的包用来做测试。
打开命令行或者PowerShell进行输入命令操作。新建一个测试使用的类库。
dotnet new classlib -n PandaTest
进入项目路径。
cd .\PandaTest\
使用Visual Studio Code打开该项目。
code .
将class1.cs类文件重命名为PandaTest.cs并修改内容,如下图所示。
打开命令行或者PowerShell进行打包类库为NuGet包。
dotnet pack --configuration Release
创建本地NuGet源#
在您需要的位置创建一个存放NuGet包的目录。这里存放在G:/盘下。可以直接鼠标操作在G:/盘下创建文件夹LocalPackages。也可以使用PowerShell命令行:
New-Item LocalPackages -Type Directory
将我们刚才打包的NuGet包放在该目录下做测试使用
Copy-Item "G:\PandaTest\bin\Release\PandaTest.1.0.0.nupkg" "G:\LocalPackages\"
配置 .NET CLI 的NuGet源#
在命令行输入下列命令,将我们自定义的NuGet源加入到.NET CLI
dotnet nuget add source "G:\LocalPackages\"
测试使用本地NuGet包#
切换到G:/盘根目录,新建Console项目。
cd G:/
dotnet new console -n "ConsoleProject"
切换到ConsoleProject项目目录。
cd ConsoleProject
引入我们刚才打包的NuGet包。
dotnet add package PandaTest
流程也在图中体现出来了的,NuGet先访问https://api.nuget.org官方源头,没有查找到该包,然后再访问本地的我们自定义的源,最后安装成功。
安装好包后,使用Visual Studio Code打开该项目,并使用我们的引入的包。
code .
进行运行项目。
dotnet run
在Visual Studio中使用#
我们刚才尝试了在CLI界面中操作NuGet包。在Visual Studio中使用也非常方便,添加我们定义的NuGet源即可。
具体操作流程:点击[工具] - > [nuget包管理器] -> [管理解决方案的nuget管理器] -> [程序包源]。
Visual Studio中的操作都是基于界面操作,在基本使用上有一定优势。但命令行在关键时候更加方便。总之,使用上的细节各有千秋,但底下本质都是一样。
作者:重庆熊猫
出处:https://www.cnblogs.com/cqpanda/p/16153078.html
版权:本作品采用「不论是否商业使用都不允许转载,否则按3元1字进行收取费用」许可协议进行许可。
本文来自博客园,作者:重庆熊猫,转载请注明原文链接:https://www.cnblogs.com/cqpanda/p/16153078.html
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 推荐几款开源且免费的 .NET MAUI 组件库
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· Trae初体验