Xamarin -. NET Standard - Использовать Azure DevOps Services с VssAadCredential - - PullRequest
1 голос
/ 30 апреля 2020

Я хочу создать приложение Xamarin.Forms, в котором мне нужно войти в определенную c Azure среду / проект DevOps.

Чтобы опробовать библиотеку Azure DevOps Service, которую я впервые создал Консольное приложение (. NET Framework 4.7.2) для входа в среду или проект Azure DevOps. Следующий код был использован для процесса входа в систему (+ дополнительный код для проверки работоспособности соединения).

public void Login(string _userName, string _pwd)
{
    ProjectHttpClient projectClient;

    this.Credentials = new VssAadCredential(_userName, _pwd);
    this.Connection = new VssConnection(new Uri(this.DevOpsPath), this.Credentials);
    this.InitReferences(this.ProjectName);

    projectClient = this.Connection.GetClient<ProjectHttpClient>();
    this.ProjectReference = projectClient.GetProjects(null, top: 1).Result.Where(item => item.Name == this.ProjectName).FirstOrDefault();
}

Когда я использую тот же фрагмент кода в приложении Xamarin.Forms (. NET Standard 2.1) , он больше не работает, и я получаю следующую ошибку при выполнении последняя строка:

Произошла одна или несколько ошибок. (Не удалось разрешить тип с токеном 0100008d из typeref (ожидаемый класс 'Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContextIntegratedAuthExtensions' в сборке 'Microsoft.IdentityModel.Clients.ActiveDirectory, Версия = 3.19.4.11002, Culture = нейтральный' 31 )36f )

При использовании VssBasicCredential с личным токеном доступа код выполняется должным образом. Однако я бы предпочел использовать VssAadCredential, а не VssBasicCredential.

Я не знаю, что VssAadCredential не поддерживается в. NET Standard и не может найти документацию, касающуюся проблемы.

Кто-нибудь имел подобный опыт, который мог бы решить эту проблему, или кто-нибудь может предоставить мне некоторую документацию, заявляющую, что это пока не может работать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...