2010-04-24 5 views
3

Мне нужна помощь с помощью путей, пожалуйста!Относительные пути в C#

В принципе у меня есть проект со следующей структурой папок:

Project (root directory which contains the .sln file etc.) 
Project/MyProj (contains the code) 
Project/MyProjTest (the test folder) 
Project/TestResults 

Теперь с этим проектом, мне нужно, чтобы иметь общую папку, в которой я могу придерживаться кучи файлов для использования с Заявкой без необходимости копировать файлы в несколько местоположений и т. д. Каков наилучший способ сделать это? В идеале я хотел бы иметь папку как Project/ResourcesFolder, так что и папка Code, и папка Test могут получить к ней доступ. Теперь, если это так, как я могу вызвать эту папку из C#? Я пробовал Application.StartupPath, Environment.GetCurrentDirectory, но они оба просто возвращают папку CURRENT, которая не то, что я хочу.

Заранее спасибо.

+0

Объедините ответы Oded и phimuemue, и у вас есть это. –

ответ

1

Вы можете добавить папку решения в свое решение и разместить в нем общие файлы.

0

.. отправляется в одну директорию вверх. То есть от Project/MyProjTest вы можете получить доступ к Project/MyProj через ../MyProj.

+0

Но что, если мне нужно получить доступ к общей папке из Project/MyProjTest AND Project/MyProjTest/SomeOtherFolder? – Suraj

0

Используйте Server.MapPath ("~"), чтобы попасть в корневую папку вашего приложения. Оттуда вы можете добраться туда, где вам нужно.

1

Вам нужно будет скопировать файлы, вы хотите, чтобы ваша программа работала так же, как только она была развернута. Самый простой способ сделать это - добавить их в свой проект. В окне «Свойства» установите «Создать действие = Нет», «Копировать в каталог вывода» = «Копировать», если «Создать». Последний параметр гарантирует, что вы не тратите время на копирование файлов снова и снова.

Это гарантирует, что файлы будут находиться в том же каталоге, что и ваш EXE. Как при отладке, так и после его развертывания. Просто используйте Application.StartupPath, чтобы найти их. Создание проекта установки для приложения теперь очень просто.

Обратите внимание, что если файлы небольшие, вы действительно хотите внедрить их в качестве ресурсов.

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