2015-10-10 44 views
1

我使用SharpSVN通过C#连接和从Visual SVN Server检索信息。从SVN仓库检索信息包含特殊字符

但SVN服务器上存储库有一个同名文件夹C#,当阅读到这个文件夹,异常:

其他信息:URL 的“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 

回答

2

#是在URL的模式操作。你需要使用uri转义规则来逃避这个角色。在System.Uri类和SvnTools上的一些特定场景中有这样的辅助函数。转义字符将类似于%23,其中23是字符的十六进制值。