Поставщик Sharpsvn для учетных данных
У меня есть проблема, когда я постоянно получаю ошибку
No provider registered for 'svn.ssl.server' credentials
Я использую тот же код, который работает на другом сервере SVN, но новый сервер, который я настраиваю, похоже, не может подключиться, хотя я могу подключиться без проблем через веб-браузер.
//SVN Client repo sync public void DownloadSVNStartup(string url, string path) { using (SvnClient client = new SvnClient()) { try { client.CleanUp(path); //will skip this block because there's no working copy yet SvnUI.Bind(client, this); SvnCheckOutArgs sco = new SvnCheckOutArgs(); sco.AllowObstructions = false; } catch (Exception ex) { MessageBox.Show("Line 88"); MessageBox.Show(ex.ToString()); myLog.WriteEntry(ex.ToString(), EventLogEntryType.Error); } client.Configuration.SetOption("servers", "global", "http-auth-types", "basic;digest"); client.Authentication.Clear(); client.Authentication.ForceCredentials("user", "password"); try { client.Authentication.SslServerTrustHandlers += delegate (object sender, SvnSslServerTrustEventArgs e) { e.AcceptedFailures = e.Failures; e.Save = false; // Save acceptance to authentication store }; Object[] args = { url, path }; BackgroundWorker worker = new BackgroundWorker(); worker.DoWork += backgroundWorker1_DoWork; worker.RunWorkerAsync(args); this.Hide(); } catch (Exception ex) { MessageBox.Show("Line126"); MessageBox.Show(ex.ToString()); myLog.WriteEntry(ex.ToString(), EventLogEntryType.Error); } } } private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e) //connect to the Svn server { try { Object[] arg = e.Argument as Object[]; string url = (string)arg[0]; string path = (string)arg[1]; using (SvnClient client = new SvnClient()) { client.Authentication.Clear(); // Prevents saving/loading config to/from disk client.Authentication.ForceCredentials("user", "password"); client.CheckOut(new Uri(url), path);//fails here with the error No provider registered... client.CleanUp(path); client.Update(path); client.CleanUp(path); } } catch (Exception ex) { MessageBox.Show("Line166", ex.Message.ToString()); MessageBox.Show(ex.ToString()); } }
Я часами искал решения и ничего не мог найти.
Оба сервера настроены с одним и тем же портом, одинаковыми настройками HTTPS и созданными сертификатами, одинаковыми выпусками сервера VisualSVN.
Что я уже пробовал:
Я попробовал только одно решение, которое смог найти, так как это вообще не распространенная проблема.
Предполагается, что это исправит эту ошибку, но это не так.
client.Authentication.SslServerTrustHandlers += delegate (object sender, SvnSslServerTrustEventArgs e) { e.AcceptedFailures = e.Failures; e.Save = false; // Save acceptance to authentication store };