На самом деле название вопроса просто спрашивает, почему. Вы объяснили почему только не почему почему :). Я отмечу как ответ.
но мы обновились до VS 2017 и Visual Studio Team Services.
У нас есть набор автоматизированных инструментов, которые выполняют различные задачи управления исходным кодом от имени разработчиков.
Некоторые пользователи и одна учетная запись службы где-то имеют кэшированные учетные данные и не запрашивают учетные данные при запуске инструментов.
Однако другим пользователям предлагается ввести учетные данные.
Я создал мини-приложение для тестирования, чтобы проиллюстрировать проблему. ПРИМЕЧАНИЕ. Файлы VSTS - это файлы версии 15.x из папки установки VS2017 Team Explorer. Они также доступны как часть пакета NuGet Microsoft.TeamFoundationServer.ExtendedClient, если вы не возражаете против раздувания.
using System;
using Microsoft.TeamFoundation.Client;
using Microsoft.TeamFoundation.VersionControl.Client;
namespace VSTSTest
{
class Program
{
static void Main(string[] args)
{
try
{
if (args.Length > 0)
{
var projectCollectionUrl = args[0];
var projectCollection = new TfsTeamProjectCollection(new Uri(projectCollectionUrl));
var versionControlServer = (VersionControlServer)projectCollection.GetService(typeof(VersionControlServer));
Console.WriteLine("AuthorizedUser: {0}", versionControlServer.AuthorizedUser);
}
Console.WriteLine("Usage is {projectCollectionUrl}");
}
catch (Exception e)
{
Console.WriteLine(e);
}
Console.ReadLine();
}
}
}
Это работает для некоторых пользователей, но не для других, и я пытаюсь выяснить, почему.