Я хочу создать приложение 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 и не может найти документацию, касающуюся проблемы.
Кто-нибудь имел подобный опыт, который мог бы решить эту проблему, или кто-нибудь может предоставить мне некоторую документацию, заявляющую, что это пока не может работать?