NullReferenceException en SvnClient de SharpSvn cuando las DefaultCnetworkingentials proporcionadas devuelven null

Estoy usando SharpSvn en mi proyecto para comunicarme con SVN. Para algunos repositorys SVN, ya sé el nombre de usuario y la contraseña, mientras que para otros, no. Por lo tanto, establecí la propiedad SvnClient.Authentication.DefaultCnetworkingentials en una instancia de mi propia implementación de System.Net.ICnetworkingentials (pseudo código):

 public class MyCnetworkingentials : ICnetworkingentials { public NetworkCnetworkingential GetCnetworkingential(Uri uri, string authType) { if (AreCnetworkingentialsKnown(uri)) return new NetworkCnetworkingential("KnownUserName", "KnownPassword"); else return null; } } 

Esto funciona bien para las cnetworkingenciales conocidas. Sin embargo, si no se conocen las cnetworkingenciales, se produce una NullReferenceException en SharpSvn:

 Object reference not set to an instance of an object. at System.Net.NetworkCnetworkingential.InternalGetUserName() at System.Net.NetworkCnetworkingential.get_UserName() at SharpSvn.Implementation.SvnCnetworkingentialWrapper.OnUserNamePassword(Object sender, SvnUserNamePasswordEventArgs e) in f:\qqn\sharpsvn-dist-1.6\src\sharpsvn\svnauthentication.h:line 619 

Esto es aparentemente causado por el hecho de que devuelvo null del método GetCnetworkingential. Sin embargo, como se establece claramente en la documentation de MSDN en la interfaz ICnetworkingentials :

El método GetCnetworkingential devuelve una instancia de NetworkCnetworkingential que contiene las cnetworkingenciales asociadas con el URI y el esquema de autorización especificados. Cuando no hay cnetworkingenciales disponibles, el método GetCnetworkingential devuelve null .

¿Es esto un error en SharpSvn? De lo contrario, ¿qué se supone que debo devolver cuando no se conocen las cnetworkingenciales?

Editar: Acabo de descubrir que puedo devolver new NetworkCnetworkingentials() lugar de null para indicar a SharpSvn que las cnetworkingenciales son desconocidas. Aún así, creo que esto es un error en SharpSvn ya que devolver null debería funcionar igual de bien.

.DefaultCnetworkingentials es solo una alternativa para proporcionar un nombre de usuario y contraseña explícitos a las bibliotecas de Subversion.

Si necesita un mecanismo de sugerencia más avanzado, debe conectar el evento .UserNamePassword en SvnClient.Autorization. Esto también permite administrar si las passwords deben savese, etc.

Hay una implementación pnetworkingeterminada en SharpSvn.UI.dll que engancha algunos cuadros de dialog estándar.