Все это сводилось к добавлению правильных packageSourceCredentials в правильный файл nuget.config. У меня есть
- ~ / .config / NuGet / nuget.config
- ~ / .nuget / NuGet / nuget.config
- файл nuget.config уровня решения
Не используйте для этого # 3, так как это ставит пользователя на уровень решения, и оно фиксируется. # 1, похоже, не оказывает никакого влияния, когда я делаю «do tnet build» из папки проекта. # 2 - это файл, для которого необходимо настроить учетные данные (в любом случае для меня).
Следующая проблема заключается в том, что у нас настроен доступ к коду PAT в нашем частном репо, но платформы, отличные от windows, не поддерживают шифрование но просто вводить пароль в виде открытого текста тоже бесполезно. Мне нужно было сделать следующее:
- Go для входа в VSTS с моей учетной записью и создания кода PAT
- Создать раздел PackageSourceCredentials в # 2 файле конфигурации nuget
- для каждого репо, которому требуются учетные данные, создайте раздел для его имени в разделе PackageSourceCredentials, то есть для
(PLASMA определена в # 3 файлах nuget.config в нашей настройке)
<PLASMA>
<add key="Username" value="your username for PAT code" />
<add key="ClearTextPassword" value="Copied PAT code from vsts" />
</PLASMA>
Если вы просто используете пароль вместо ClearTextPassword, похоже, он не работает и "Скопирован код PAT "- это тот, который вы копируете из vsts. Не имеет значения, что источники пакетов, для которых мне нужны учетные данные, определены в файлах конфигурации №3, а учетные данные для них определены в файле конфигурации №2.