Resolving relative paths in C#