下载-复制-过去的解决方案
在您的离线或在线 Windows 机器上运行
Install-PackageProvider -Name NuGet
如果您收到以下错误
Install-PackageProvider:需要管理员权限才能在“C:\Program Files\PackageManagement\ProviderAssemblies”中安装包。
使用具有管理员权限的帐户登录计算机,然后重试,
或通过在命令中添加“-Scope CurrentUser”来安装在“C:\Users\\AppData\Local\PackageManagement\ProviderAssemblies”中。您还可以尝试使用提升的权限运行 Windows PowerShell 会话(以管理员身份运行)。
在行:1 字符:1
+ 安装-PackageProvider -Name NuGet
然后使用 -Scope CurrentUser
Install-PackageProvider -Name NuGet -Scope CurrentUser
运行它
我们需要收到错误的 URL
警告:无法从 URI 'https://go.microsoft.com/fwlink/?LinkID=627338&clcid=0x409' 下载到 ''。
警告:无法下载可用提供程序的列表。检查您的互联网连接。
Install-PackageProvider:找不到与提供程序“NuGet”的指定搜索条件匹配的内容。包提供者需要“PackageManagement”和“Provider”标签。请检查指定的包裹是否有标签。
目前这将是https://go.microsoft.com/fwlink/?LinkID=627338&clcid=0x409
因此,请转到在线计算机并在浏览器中打开此 URL。
您将收到以下 XML
<?xml version="1.0" encoding="utf-8"?>
<SoftwareIdentity xmlns="http://standards.iso.org/iso/19770/-2/2015/schema.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:discovery="http://packagemanagement.org/discovery" patch="false" media="(OS:windows)" name="OneGet.Providers" tagVersion="1" uniqueId="OneGet.Providers.1" version="1.15.194.0" versionScheme="multipartnumeric">
<!--
This swidtag is a Discovery Feed that has pointers to the SWIDTAGs for
the providers that the bootstrapper can download.
-->
<Link href="https://onegetcdn.azureedge.net/providers/nuget-2.8.5.208.package.swidtag" type="application/swid-tag+xml" rel="package" discovery:name="nuget" discovery:latest="true" discovery:version="2.8.5.208" media="(OS:windows)" />
<Link href="https://onegetcdn.azureedge.net/providers/psl-1.0.0.210.package.swidtag" type="application/swid-tag+xml" rel="package" discovery:name="psl" discovery:latest="true" discovery:version="1.0.0.210" media="(OS:windows)" />
<Link href="https://onegetcdn.azureedge.net/providers/ChocolateyPrototype-2.8.5.130.package.swidtag" type="application/swid-tag+xml" rel="package" discovery:name="chocolatey" discovery:latest="true" discovery:version="2.8.5.130" media="(OS:windows)" />
<Link href="https://onegetcdn.azureedge.net/providers/nugetv2.feed.swidtag" type="application/swid-tag+xml" rel="feed" discovery:name="nuget" media="(OS:windows)" />
<Link href="https://onegetcdn.azureedge.net/providers/psl.feed.swidtag" type="application/swid-tag+xml" rel="feed" discovery:name="nuget" media="(OS:windows)" />
<Link href="https://onegetcdn.azureedge.net/providers/chocolateyprototype.feed.swidtag" type="application/swid-tag+xml" rel="feed" discovery:name="chocolatey" media="(OS:windows)" />
</SoftwareIdentity>
复制以下形式的网址https://onegetcdn.azureedge.net/providers/nuget-X.X.X.XXX.package.swidtag
目前是https://onegetcdn.azureedge.net/providers/nuget-2.8.5.208.package.swidtag
在浏览器中打开此 URL,您将收到以下 XML
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<SoftwareIdentity xmlns="http://standards.iso.org/iso/19770/-2/2015/schema.xsd" xmlns:discovery="http://packagemanagement.org/discovery" xmlns:sha512="http://www.w3.org/2001/04/xmlenc#sha512" name="nuget" versionScheme="multipartnumeric" media="(windows)" tagVersion="1" version="2.8.5.208" uniqueId="nuget.2.8.5.208">
<Meta providerName="nuget" providerVersion="2.8.5.208" summary="NuGet provider for the OneGet meta-package manager" />
<Link href="https://onegetcdn.azureedge.net/providers/Microsoft.PackageManagement.NuGetProvider-2.8.5.208.dll" type="application/octet-stream" rel="installationmedia" discovery:targetFilename="Microsoft.PackageManagement.NuGetProvider.dll" discovery:type="assembly" media="(OS:windows)" />
</SoftwareIdentity>
您需要来自唯一 href 属性的 URL。
此 URL 允许您下载当前适用于 PowerShell 的 NuGet 提供程序的当前 .dll 文件。
目前是https://onegetcdn.azureedge.net/providers/Microsoft.PackageManagement.NuGetProvider-2.8.5.208.dll
下载后,导航到这个.dll文件并解锁(或使用Unblock-File cmdlet)
将此文件复制到您离线机器上的C:\Program Files\PackageManagement\ProviderAssemblies。
Additional info