Как получить доступ к каталогу проекта C# [дубликат]
На этот вопрос уже есть ответ здесь:
Я пытаюсь настроить модульные тесты для проекта C#, и мне кажется, я запутался в том, как настроена структура каталогов моего тестового проекта
В VS2017, I проект расширяется следующим образом
Solution
|--*project to test*
| |--*project content*
|
+--*test project*
|--Files
| |--TestDestination
| |--TestDir
| +--EmptyDir
|
|--Controllers
|--Services
+--Models
У меня есть несколько предварительно настроенных тестов каталоги и файлы в каталоге "Files", к которым я хотел бы получить доступ из моих тестовых классов, но я не могу понять, как выразить путь к этому каталогу программно.
Я пробовал
Path.Combine("Files", "FileManager", "TestDir")
Который (я думаю) будет перемещаться в каталог TestDir относительно проекта в Java, но я думаю, что C# не разделяет это соглашение. Я также попытался:
Path.Combine(Directory.GetCurrentDirectory(), "Files", "FileManager" "TestDir")
И
Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Files", "FileManager", "TestDir");
Оба из которых переходят в следующий каталог
'C:UsersJohnSourceRepos*Solution*Unit_TestsbinDebugnetcoreapp2.0FilesFileManagerTestDir
Что (очевидно) неверно.
Есть ли хороший способ получить доступ к каталогу моего проекта программно? Или было бы лучше получить его таким образом и выйти из него? Если да, то как я могу это сделать?
1 ответ:
Вам просто нужно перейти к родительским каталогам, используя
../из его внешнего вида вам нужно перейти к 3 родительским каталогам, чтобы добраться до тестового проекта, так что это должно работатьPath.Combine(Directory.GetCurrentDirectory(), "../../../Files", "TestDir")
Comments