重庆熊猫 Loading

离线环境使用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包管理程序。
image

生成一个测试使用的NuGet包

注意:除了自己生成一个测试包,也可以是Nuget.org上下载的包用来做测试。
打开命令行或者PowerShell进行输入命令操作。新建一个测试使用的类库。

dotnet new classlib -n PandaTest

进入项目路径。

cd .\PandaTest\

使用Visual Studio Code打开该项目。

code .

将class1.cs类文件重命名为PandaTest.cs并修改内容,如下图所示。
image

打开命令行或者PowerShell进行打包类库为NuGet包。

dotnet pack --configuration Release

打包完成后会显示存放的目录。
image

创建本地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会自动去加载包,如下图所示。
image

流程也在图中体现出来了的,NuGet先访问https://api.nuget.org官方源头,没有查找到该包,然后再访问本地的我们自定义的源,最后安装成功。

安装好包后,使用Visual Studio Code打开该项目,并使用我们的引入的包。

code .

修改代码,如下图所示。
image

进行运行项目。

dotnet run

输出显示运行成功,至此我们已经完成了整个流程。
image

在Visual Studio中使用

我们刚才尝试了在CLI界面中操作NuGet包。在Visual Studio中使用也非常方便,添加我们定义的NuGet源即可。
具体操作流程:点击[工具] - > [nuget包管理器] -> [管理解决方案的nuget管理器] -> [程序包源]。

或者在界面中进行搜索。
image

然后添加源。
image

Visual Studio中的操作都是基于界面操作,在基本使用上有一定优势。但命令行在关键时候更加方便。总之,使用上的细节各有千秋,但底下本质都是一样。

posted @ 2022-04-16 15:52  重庆熊猫  阅读(1150)  评论(0编辑  收藏  举报