Опубликованное консольное приложение C # - система не может найти указанный файл - PullRequest
0 голосов
/ 24 сентября 2019

Я использую очень короткое консольное приложение C # для запуска исполняемого файла, написанного на python, чтобы я мог воспользоваться преимуществом развертывания одним щелчком мыши.

В режиме отладки я могу найти два исполняемых файла, которые включены в качестве ресурсов.Однако, как только приложение опубликовано, я не могу найти их относительные пути к файлам.Я получаю исключение: «система не может найти указанный файл»

using System;
using System.Diagnostics;


namespace UpdateConsole
{
    class Program
    {
        static void Main(string[] args)
        {
            string RunningPath = AppDomain.CurrentDomain.BaseDirectory;
            string driver_path = string.Format("{0}Resources\\chromedriver.exe", System.IO.Path.GetFullPath(System.IO.Path.Combine(RunningPath, @"")));
            string exe_path  = string.Format("{0}Resources\\DUU.exe", System.IO.Path.GetFullPath(System.IO.Path.Combine(RunningPath, @"")));

            Process.Start(exe_path,driver_path);
        }
    }
}

Я также пытался ссылаться на ресурс следующим образом:

Properties.Resources.DUU;

Но это возвращает объект byte []и я не уверен, как извлечь относительный путь к файлу отсюда.

1 Ответ

0 голосов
/ 24 сентября 2019
 string RunningPath = AppDomain.CurrentDomain.BaseDirectory;

путь к файлу, предоставленный этим кодом, изменяется в зависимости от режима сборки: 1. В режиме отладки это ... / bin / Debug.2. В режиме выпуска это ... / bin / Release.

Поэтому убедитесь, что вы скопировали файлы .exe в соответствующую папку.

...