Path.Combine absolute with relative path strings
.net, c#, filesystems, path, windows
Solution
What Works:
string relativePath = "..\\bling.txt";
string baseDirectory = "C:\\blah\\";
string absolutePath = Path.GetFullPath(baseDirectory + relativePath);
(result: absolutePath="C:\bling.txt")
What doesn't work
string relativePath = "..\\bling.txt";
Uri baseAbsoluteUri = new Uri("C:\\blah\\");
string absolutePath = new Uri(baseAbsoluteUri, relativePath).AbsolutePath;
(result: absolutePath="C:/blah/bling.txt")
Problem
I'm trying to join a Windows path with a relative path using `Path.Combine`. However, `Path.Combine(@"C:\blah",@"..\bling")` returns `C:\blah\..\bling` instead of `C:\bling\`. Does anyone know how to accomplish this without writing my own relative path resolver (which shouldn't be too hard)?