2015-10-10 45 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是字符的十六進制值。