Где мой путь к приложению? - PullRequest
       16

Где мой путь к приложению?

0 голосов
/ 10 февраля 2011

Я добавил папку «myFolder» в проект Visual Studio, как мне выполнить и прочитать файл из текущего местоположения ???

. \ <- похоже, это не работает? </p>

1)

    System.Diagnostics.ProcessStartInfo start = new System.Diagnostics.ProcessStartInfo();
    start.FileName = @".\myFolder\app.exe" + " -q " + "http://www.google.com " + " output.pdf";
    start.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;

и т. Д. И т. Д. *

2)

    FileStream fs = File.OpenRead(@".\myFolder\output.pdf");

Ответы [ 2 ]

1 голос
/ 10 февраля 2011

Папки, созданные с помощью обозревателя решений, по умолчанию не копируются в выходной каталог (где находится исполняемый файл), если для элемента, добавленного в проект в этом каталоге, для параметра Копировать в выходной каталог не установлено значение, отличное от DoНе копировать, поэтому, если все, что вы сделали, это создали пустой каталог с помощью обозревателя решений, то, скорее всего, каталог не существует в выходном пути.

Этот код создаст каталог на выходном пути приложения

 var directoryPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "YourDirectoryName");
        if (!Directory.Exists(directoryPath))
            Directory.CreateDirectory(directoryPath);

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

Если вы хотите создать каталог как часть процесса сборки, вы можете либо запустить mkdir как внешнюю команду сборки, либо использовать MakeDir MSBuild Task

1 голос
/ 10 февраля 2011

Вы можете использовать System.AppDomain.CurrentDomain.BaseDirectory, чтобы получить каталог, содержащий двоичный файл.Оттуда вы можете перейти в свой подкаталог.

Убедитесь, что вы выбрали «Копировать в выходной каталог» в окне свойств для файлов в папке, которую вы добавили в проект, и убедитесь, что они скопированы вкаталог bin при компиляции приложения.

...