No se puede determinar la ruta de configuration del usuario (cuando se intenta get el número de revisión)

Estoy usando SharpSVN dll con mi Visual Studio 2010 para get el último número de revisión, así que puedo versionar mi proyecto usando este número. Probé este fragment de código a continuación, pero me da error al decir:

Can't determine the user's config path 

Ni siquiera entiendo lo que eso significa. Todo lo que quiero hacer es proporcionar el enlace svn, mis cnetworkingenciales como nombre de usuario y contraseña, y get el último número de revisión.

Aquí está el código que probé hasta ahora:

 using(SvnClient client = new SvnClient()) { //client.LoadConfiguration(Path.Combine(Path.GetTempPath(), "Svn"), true); Collection<SvnLogEventArgs> list; client.Authentication.DefaultCnetworkingentials = new NetworkCnetworkingential("john.locke", "s7y5543a!!"); SvnLogArgs la = new SvnLogArgs(); client.GetLog(new Uri("https://100.10.20.12/svn/P2713888/trunk/src/"), la, out list); string sRevisionNumber = string.Empty; int iRevisionNumber = 0; foreach(SvnLogEventArgs a in list) { if (Convert.ToInt32(a.Revision) > iRevisionNumber) { iRevisionNumber = Convert.ToInt32(a.Revision); } } RevisionNumber.Text = iRevisionNumber.ToString(); } 

otras forms de get el número de revisión también pueden seleccionarse como respuesta.

También tuve este problema: la necesidad de encontrar / establecer properties en el SvnClient antes de su uso. Esto es lo que terminé usando. Intente utilizar este método en lugar de simplemente crear una instancia de su object cliente: creará automáticamente una carpeta config si aún no existe:

 private SvnClient GetClient() { SvnClient client = new SvnClient(); // Note: Settings cnetworkings up here is optional // client.Authentication.DefaultCnetworkingentials = _cnetworkings; string configPath = Path.Combine(Path.GetTempPath(), "sharpsvn"); if (!Directory.Exists(configPath)) { Directory.CreateDirectory(configPath); } client.LoadConfiguration(configPath, true); return client; } 

Alternativamente, si quiere minimizar la comprobación de File IO para ver si el directory existe, puede intentar cargar la configuration, y solo crear y reasignar el directory si esa llamada falló, pero simplemente verificando cada vez es más simple.

En cualquier caso, puede get el último número de revisión para una location usando el siguiente código:

 public long GetLatestRevisionNumber(Uri svnPath) { using (SvnClient client = GetClient()) { SvnInfoEventArgs info; client.GetInfo(svnPath, out info); return info.LastChangeRevision; } }