我正在尝试在运行 Windows Server 2016 的离线工作机器上安装 NuGet。文件可以通过 NAS 上传到这台机器。所有在线机器都具有受限的管理员权限,而离线机器具有完全的管理员权限。我找到了离线机器的安装指南,但它们都假设在线机器具有管理员权限。
如何在未连接的机器上安装 PowerShell 的 Nuget 提供程序,以便我可以从 PS 命令行安装 nuget 包?[堆栈交换]
如何让 PowerShell 在没有 Internet 访问的情况下工作 [Intrepid Integration]
引导 NuGet 提供程序和 NuGet.exe [Microsoft]
这些参考建议将 NuGet 安装在在线机器上(需要管理员权限),然后将安装的 dll 复制到离线机器上。这是我迄今为止尝试过的:
- 尝试在离线机器上下载 NuGet 以查看它下载文件的位置。它搜索:https : //onegetcdn.azureedge.net/providers/providers.masterList.feed.swidtag
- 按照 URL 中的链接下载PackageManagement.NuGetProvider-2.8.5.208.dll
- 在个人计算机(具有管理员权限)上,我以正常方式下载了 NuGet,并将 dll PackageManagement.NuGetProvider.dll安装在 C:\Program Files\PackageManagement\ProviderAssemblies\nuget\2.8.5.208\
- 我检查了两个 dll 的哈希值,它们匹配。
- 在离线计算机上,我创建了一个 C:\Program Files\PackageManagement\ProviderAssemblies\nuget\2.8.5.208 文件夹,并将步骤 2 中的 dll 放入该文件夹中。
- 我以管理员身份启动 PowerShell,看到 NuGet 2.8.5.208 已安装但没有 DynamicOptions。任何安装 nupkg 软件包的尝试都失败了。Get-PackageProvider 的输出如下所示:
PS C:\Windows\system32> Get-PackageProvider -ListAvailable
Name Version DynamicOptions
---- ------- …
Run Code Online (Sandbox Code Playgroud)