TFS ServerItemExists метод versionControlServer возвращает файл не существует, пока он присутствует - PullRequest
0 голосов
/ 23 мая 2019

Я пытаюсь обновить собственный плагин для Azure DevOps Server.Ранее компания использовала TFS 2017, и плагин работал правильно.Теперь он запускается (я вижу это через сообщения в EventLog), но есть проблема, что функция ServerItemExists возвращает «False», но на самом деле файл присутствует.

Я обнаружил проблемы с этой версией. Control TfsConfigurationServer.GetService() всегда возвращает ноль ( TfsConfigurationServer.GetService () всегда возвращает нуль ), но, похоже, это не мой случай.Вот код ниже

            var configFileServerPath = $"$/{projectName}/AutoCodeReview.xml";
                        var versionControlServer = projectCollection.GetService<VersionControlServer>();

                        writeLog(EventLogEntryType.Information, $"Details. configFileServerPath: {configFileServerPath}. versionControlServer.TeamProjectCollection.Name: {versionControlServer.TeamProjectCollection.Name}");
                        bool ItemExists = versionControlServer.ServerItemExists(configFileServerPath, ItemType.File);
                        writeLog(EventLogEntryType.Information, $"Item existence: {ItemExists}");
                        if (!ItemExists)
                        {
                            writeLog(EventLogEntryType.Information, $"return, not item exists");
                            return null;
                        }

Так что я использую EventViewer в качестве чего-то похожего на отладочный вывод, и я вижу, что у меня есть сообщение как «Предмет существования ложь».Но файл существует!

Мои предложения по определению пути.URL в браузере для элемента выглядит следующим образом: http://tfs1:8080/tfs/DefaultCollection/Project1/_versionControl?path=%24%2FProject1%2FAutoCodeReview.xml

Как я выяснил с помощью EventVwr, это пути:

configFileServerPath $/Project1/AutoCodeReview.xml

TeamProjectCollection.Name http://tfs1:8080/tfs/DefaultCollection/

Так что это прекрасно работает в TFS 2017 и показывает, что в Azure DevOps Server 2019 нет файла. Поскольку я новичок в C #, кажется, трудно понять, что не так.

...