Member 13927114 Ответов: 0

Поставщик 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
                   };

0 Ответов