2017-01-09 8 views
3

Как я могу программно получить путь к текущему проекту в моем C# -коде?Как я могу найти в кодовом пути моего текущего проекта?

Есть ли у меня какие-либо препроцессорные директивы для этого? Или любые макросы?

Примечание:мне не нужен путь текущего исполнительного узла, а скорее путь проекта, из которого был составлен этот узел.

Примечание (2) - То, что я пытаюсь достичь:У меня есть несколько файлов, которые компилируются в внедренных ресурсов. Я загружаю и использую их во время выполнения. Я хотел бы создать режим «отладки», в котором файлы загружаются из исходного места на диске, а не из потока ресурсов. Это позволит мне быстро редактировать файлы для тестирования без необходимости перекомпилировать сборку. Поскольку сборка копируется в другое место, вне проекта, из которого она была скомпилирована, в режиме «отладки» я не могу загрузить файлы с использованием относительного пути.

+1

Хм, я уверен, сгенерированные отладочные символы могут содержать информацию, как это. – cubrr

+0

@cubrr Хорошая идея. Есть ли способ запросить pdb текущей сборки? –

+0

Я не уверен. Еще несколько идей здесь: [_Is есть способ найти путь компиляции exe_] (http://stackoverflow.com/a/35373180/996081) – cubrr

ответ

0
string fileName = "SampleFile.txt"; 
string path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, LocalConstants.EMAIL_PATH, fileName); 

C:\****\****\Documents\Visual Studio 2010\Projects\WindowsApplication1\WindowsFormsApplication1\bin\Debug\Emails\SampleFile.txt 
+2

Это будет путь выполнения, а не путь времени компиляции. Разумеется, они будут одинаковыми, если проект запускается из Visual Studio. –

Смежные вопросы