nuget restore无法从本地存储库

时间:2018-05-10 15:32:32

标签: nuget-package nuget-package-restore

从全局nuget-repository

恢复

我有这个packages.config-file:

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="jQuery" version="3.1.1" targetFramework="net46" />
  <package id="NLog" version="4.3.10" targetFramework="net46" />
</packages>

使用此命令,我可以恢复nuget-packages,它们列在上面的packages.config中:

  

nuget restore packages.config -PackagesDirectory NuGetPackages -NoCache

这很好用。

此示例的所有文件都可以在此处找到: https://github.com/ezeh2/nuget_restore_examples/tree/master/nuget_with_global_nuget_repository

从本地nuget-repository

恢复

在我的公司,我们必须使用位于网络共享上的存储库。 我们不允许从标准的全局nuget-repository执行包恢复。

出于演示目的,让我们假设本地包存储库位于目录NuGetPackagesSource中 这是它的内容:

-NuGetPackagesSource
 |-jquery
    |-3.1.1
      |-jquery.3.1.1.nupkg
      |-jquery.3.1.1.nupkg.sha512
      |-jquery.nuspec
 |-nlog.4.3.10.nupkg

通过这个NuGet.Config,我们确保使用本地包存储库而不是全局包:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <disabledPackageSources>
    <add key="nuget.org" value="true" />
  </disabledPackageSources>
  <packageSources>    
    <add key="my" value="NuGetPackagesSource" />
  </packageSources>
</configuration>

以下内容从本地目录NuGetPackagesSource进行还原:

  

nuget restore packages.config -ConfigFile NuGet.config -PackagesDirectory NuGetPackages -NoCache

不幸的是发生以下错误:

  

警告:无法找到包'jQuery'的版本'3.1.1'。    C:\ software_download \ nuget \ NuGetPackagesSource:在源'C:\ software_download \ nuget \ NuGetPackagesSource'上找不到包'jQuery.3.1.1'。

     

将包'NLog.4.3.10'添加到文件夹'C:\ software_download \ nuget \ NuGetPackages'   将软件包'NLog.4.3.10'添加到文件夹'C:\ software_download \ nuget \ NuGetPackages'

     

packages.config项目中的错误      无法找到包'jQuery'的版本'3.1.1'。        C:\ software_download \ nuget \ NuGetPackagesSource:在源'C:\ software_download \ nuget \ NuGetPackagesSource'上找不到包'jQuery.3.1.1'。

从错误消息包中可以看出,jquery无法恢复。但是包NLog已成功恢复。我没有解释 由于包jqueryNLog都在本地包存储库中,因此会出现此行为。

此示例的所有文件都可以在此处找到: https://github.com/ezeh2/nuget_restore_examples/tree/master/nuget_with_local_nuget_repository

0 个答案:

没有答案