На самом деле название вопроса просто спрашивает, почему. Вы объяснили почему только не почему почему :). Я отмечу как ответ.

но мы обновились до 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();
        }
    }
}

Это работает для некоторых пользователей, но не для других, и я пытаюсь выяснить, почему.

Ответы на вопрос(1)

Ваш ответ на вопрос