10

私はC#で次のコードを持っています:

1.  public static void Main(string[] args) {
2.  Uri repository = new Uri("https://svnserver:port/svn/Src/trunk");
3.  using (SvnClient client = new SvnClient()) {                
4.    client.Authentication.Clear();
5.    client.Authentication.DefaultCredentials = new System.Net.NetworkCredential("user", "pass");
6.
7.    System.Collections.ObjectModel.Collection<SvnLogEventArgs> logEntries;
8.    SvnLogArgs logArgs = new SvnLogArgs();
9.    logArgs.Limit = 1;
10.   client.GetLog(repository, logArgs, out logEntries);
11.   }
12. }

4行目と5行目を削除すると、このコードは問題なく機能します。TortoiseSVNからローカルに保存したクレデンシャルを何らかの形で使用していると思います。ただし、これをサーバー環境で実行したいので、ユーザー名/パスワードを具体的に渡す必要があります。ただし、ログインクレデンシャルを入力しようとすると、10行目に次のエラーが表示されます。

SharpSvn.SvnRepositoryIOException was unhandled
Message: Unable to connect to a repository at URL

私はここで何が間違っているのですか?使用しようとしているユーザー名/パスワードが機能することを確認しました。

4

1 に答える 1

15

私は答えを見つけました...5行目の後にこれを追加してください:

client.Authentication.SslServerTrustHandlers += delegate(object sender, SvnSslServerTrustEventArgs e) {
                    e.AcceptedFailures = e.Failures;
                    e.Save = true; // Save acceptance to authentication store
                };
于 2012-12-15T00:57:00.723 に答える