离线环境使用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
此时,CLI会自动去加载包,如下图所示。
流程也在图中体现出来了的,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