我使用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
答案 0 :(得分:2)
#是Url中的架构运算符。您需要使用uri转义规则来转义此字符。 System.Uri类和SvnTools上的某些特定方案都有辅助函数。转义字符将类似于%23,其中23是字符的十六进制值。