2016-12-19 3 views
1

Мы используем файл nuget.config в корне нашего исходного элемента управления. Таким образом, все решения в этом источнике управления используют одну и ту же конфигурацию nuget и, следовательно, тот же файл repositoryPath, где nuget загружает восстановленные пакеты для использования.Выберите сетевой ресурс для репозитория NuGetPath

Всюду по Интернету я не нахожу упоминания о том, что сетевой ресурс является репозитарным путем для файлов nuget.config. По-моему, это действительно имеет смысл сделать это.

Почему каждый разработчик и сервер сборки должны загружать пакеты nuget с самого nuget.org, когда мы можем легко указать одно доступное местоположение, например. \ MyTfsServer \ NuGet \ RepositoryPath?

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <config> 
     <clear /> 
     <add key="repositoryPath" value="\\myTfsServer\Nuget\RepositoryPath" /> 
    </config> 
... 
</configuration> 

Есть ли что-то, что я четко пропустил?

ОБНОВЛЕНИЕ: Я не говорю об источниках. То место, где восстановление загружает все пакеты, это то, о чем я говорю. Я не хочу проверять мои восстановленные пакеты, поэтому я пытаюсь согнуть репозиторийPath вне исходного элемента управления ...

+0

Добавить repositoryPath в Nuget.config файл отлично работает для меня (например,% APPDATA% \ NuGet \ NuGet.Config), пакеты восстанавливаются в общую папку, а не в папку пакетов в решении. Изменения будут влиять на создание нового проекта. Для старого проекта вам нужно изменить путь ссылок. Статья: https://docs.nuget.org/ndocs/consume-packages/configuring-nuget-behavior Вы обновляете ссылки на существующий проект? Каков результат, если вы создаете новый проект? –

+0

У вас есть проблема с ""? Это работает на моей стороне. –

ответ

0

В файле nuget.config есть разделы с именем packageSources и activePackageSource.

packageSources перечислены все известные источники пакетов. activePackageSource идентифицирует текущий активный источник или указывает совокупность всех источников.

Чтобы использовать сетевую папку для repositoryPath NuGet, вы должны добавить новый ключ в packageSources и activePackageSource секций, как показано ниже:

<packageSources> 
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" /> 
    <add key="Network Share" value="\\myTfsServer\Nuget\RepositoryPath" /> 
</packageSources> 


<activePackageSource> 
    <add key="Network Share" value="\\myTfsServer\Nuget\RepositoryPath" /> 
</activePackageSource> 
+0

Я не говорю об источниках. –

+0

Когда ваш проект сборки, менеджер пакетов Nuget найдет пакеты под вашей папкой решения, если он не сможет найти пакеты, он получит пакеты из параметра activePackageSource. Вам не нужно проверять свои восстановленные пакеты, и не рекомендуется, чтобы исходные файлы контролировались пакетами. –

Смежные вопросы