Восстановление из глобального nuget-репозитория
У меня есть этот файл packages.config:
<?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, которые перечислены в вышеупомянутых пакетах..config:
nuget restore packages.config -PackagesDirectory NuGetPackages -NoCache
Это прекрасно работает.
Можно найти все файлы для этого примера.здесь: https://github.com/ezeh2/nuget_restore_examples/tree/master/nuget_with_global_nuget_repository
Восстановление из локального репозитория nuget
В моей компании мы должны использовать репозиторий, который находится на общем сетевом ресурсе.И мы не можем делать восстановление пакетов из стандартного глобального nuget-репозитория.
В демонстрационных целях предположим, что локальный пакет-репозиторий находится в каталоге 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
К сожалению, возникают следующие ошибки:
ПРЕДУПРЕЖДЕНИЕ: Невозможно найти версию'3.1.1' пакета 'jQuery'.C: \ software_download \ nuget \ NuGetPackagesSource: пакет 'jQuery.3.1.1' не найден в источнике 'C: \ software_download \ nuget \ NuGetPackagesSource'.
Добавление пакета 'NLog.4.3.10' в папку'C: \ software_download \ nuget \ NuGetPackages' Добавлен пакет 'NLog.4.3.10' в папку 'C: \ software_download \ nuget \ NuGetPackages'
Ошибки в проектах packages.config Невозможно найти версию '3.1.1 'пакета' jQuery '.C: \ software_download \ nuget \ NuGetPackagesSource: пакет 'jQuery.3.1.1' не найден в источнике 'C: \ software_download \ nuget \ NuGetPackagesSource'.
Как видно из ошибки,Пакет сообщений JQuery не может быть восстановлен.Но пакет NLog успешно восстановлен.У меня нет объяснения этому поведению, поскольку оба пакета jquery
и NLog
находятся в локальном репозитории пакетов.
Все файлы для этого примера можно найти здесь: https://github.com/ezeh2/nuget_restore_examples/tree/master/nuget_with_local_nuget_repository