从SVN存储库检索信息包含特殊字符

时间:2015-10-10 03:23:46

标签: c# svn sharpsvn

我使用SharpSVN通过C#连接和检索来自Visual SVN Server的信息。

但是在SVN Server上,存储库具有名称为C#的文件夹,当读取到此文件夹时,发生了异常:

  

其他信息:网址   ' HTTPS://< svnserver> / svn / IT / 02_SHOPFLOOR / C'在...中不存在   修订版13

我调试并发现URI仍为:

  

{HTTPS://< svnserver> / svn / IT / 02_SHOPFLOOR / C#} System.Uri

如何访问包含特殊字符的SVN存储库?

我曾经使用过以下但没有改变:

if (lists[i].Path.Contains("#"))
{
     path = lists[i].Path.Replace("#", "\\#");
}
else
{
     path = lists[i].Path;
}
reposss[i] = new Uri("https://< svnserver >/svn/IT/02_SHOPFLOOR/" + path);
svnClient.GetList(reposss[i], out listsInfo); //Exception occur at here

1 个答案:

答案 0 :(得分:2)

#是Url中的架构运算符。您需要使用uri转义规则来转义此字符。 System.Uri类和SvnTools上的某些特定方案都有辅助函数。转义字符将类似于%23,其中23是字符的十六进制值。