Как получить доступ к каталогу проекта 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


Что (очевидно) неверно.



Есть ли хороший способ получить доступ к каталогу моего проекта программно? Или было бы лучше получить его таким образом и выйти из него? Если да, то как я могу это сделать?

635   1  

1 ответ:

Вам просто нужно перейти к родительским каталогам, используя ../ из его внешнего вида вам нужно перейти к 3 родительским каталогам, чтобы добраться до тестового проекта, так что это должно работать

Path.Combine(Directory.GetCurrentDirectory(), "../../../Files", "TestDir")

Comments

    Ничего не найдено.