Я пытаюсь создать unittests, которые могут использоваться совместно с моей командой разработчиков, поэтому мне нужно, чтобы все пути в проекте были относительными.Относительный путь к файлу с объектом HttpWebRequest
Если это дает мне проблемы с классом HttpWebRequest. Я хочу, чтобы он служил статическим testdata из файла в локальной файловой системе.
Я хотел бы сделать что-то вроде этого:
file:///./TestData/test.html
Но это только производит C: \ TestData \ test.html и DirectoryNotFoundException.
Код для HTTPWebRequest выглядит следующим образом:
var request = HttpWebRequest.Create(uri);
var response = request.GetResponse();
var responseStream = new StreamReader(response.GetResponseStream());
return responseStream.ReadToEnd();
Как я могу убедить C# разрешить относительный путь, не нарушая синтаксис Uri?
привет Daniel
Зачем вам использовать typeof (MyType) .Assembly.Location вместо Environment.CurrentDirectory? –
@ Daniel, очень легко для программы изменить Environment.CurrentDirectory и таким образом сделать решение в зависимости от этого хрупкого. Очень сложно/невозможно изменить путь сборки. – JaredPar