3
使用MakeRelativeUri時出現錯誤路徑。現在,這可能是Unity和mono的問題,或者希望我只是錯誤地使用它,或者在.net中實際存在一個錯誤。你將不得不原諒這個精心製作的例子,但這就是我所擁有的。Uri.MakeRelativeUri不正確處理../
System.Uri fileURI = new System.Uri("/Home/Folder1/Folder2/Folder3/Folder4/Folder5/Folder6/../../../../Folder7/Folder8/file.png");
System.Uri rootURI = new System.Uri("/Home/Folder1/Folder2/Folder3/../FolderA/.");
result = rootURI.MakeRelativeUri(fileURI).ToString();
結果在這種情況下是../../Folder4/Folder5/Folder6/../../../../Folder7/Folder8/file.png
,但它應該是 ../Folder3/Folder4/Folder5/Folder6/../../../../Folder7/Folder8/file.png
它好像它是治療的根路徑的../作爲一個目錄,而不是一個指令回去一個目錄。任何人都可以證實,如果是這種情況?
你可以更新樣本,使其編譯? (RootPath需要是絕對的......) –
用c#代碼替換了僞代碼 –
我應該更加註意標籤 - 原始代碼可能沒有問題。您發佈的代碼在常規.Net上無效(http://stackoverflow.com/questions/32826283/not-getting-invalid-uri-exception-on-ideone),但在單聲道上似乎很好。檢查是否有類似老問題的幫助:http://stackoverflow.com/questions/3692818/uri-makerelativeuri-behavior-on-mono –