Col*_*Ray 6 nuget nuget-package nuget-server
我有两台电脑,一台有互联网连接,另一台没有.
我想在脱机计算机上安装Nuget包(Nuget.server)及其所有依赖项.不幸的是,不可能只下载软件包本身,我必须手动下载所有依赖项,其中有几十个.
如何在包含所有依赖项的Internet连接的计算机上创建包?
谢谢.
Adr*_*ian 13
我刚刚经历了这个痛苦,并希望仅使用NuGet CLI找到解决方案.事实证明它非常简单:
> nuget.exe install <PACKAGENAME> -OutputDirectory <OUTPUTDIR>
Run Code Online (Sandbox Code Playgroud)
关键是-OutputDirectory
交换机,它使CLI将指定的包安装到一个没有项目文件的目录中.运行此命令会将程序包及其所有依赖项下载到输出目录中,并将每个程序包放入单独的子文件夹中.然后,您可以.nupkg
从输出目录中获取所有内容,并执行您需要执行的操作.
更新:正如Igand在评论中指出的那样,-OutputDirectory
实际上并不需要切换.如果省略nuget.exe将只下载到当前文件夹中.最好不要将其下载到包含项目文件的文件夹中(除非你正在追求).
在可以访问 Internet 的计算机上,NuGet 包 (.nupkg) 应位于本地计算机缓存中。在 Windows 上,它位于类似于以下内容的目录中:
C:\Users\YourUsername\AppData\Local\NuGet\Cache
Run Code Online (Sandbox Code Playgroud)
因此,您应该能够将 .nupkg 文件从那里复制到没有互联网访问权限的计算机上。我会在那台计算机上创建一个目录并设置一个指向该目录的新包源。或者,您可以将 .nupkg 文件复制到本地计算机缓存,但请注意缓存中的 NuGet 包限制为 200 个。然后你可以创建一个指向缓存的包源。
小智 5
使用dotnet restore
带有--packages
标志的命令,这会将包下载到指定的目录。
dotnet restore --packages <TargetDirectory> <ProjectPath>
Run Code Online (Sandbox Code Playgroud)
参考:dotnet 恢复
指定恢复的包的目录。
归档时间: |
|
查看次数: |
7928 次 |
最近记录: |