EXE ведет себя по-разному, когда я помещаю в папку запуска - PullRequest
3 голосов
/ 09 июня 2011

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

Следующим логическим шагом было поместить его в папку «Автозагрузка».Результат был неожиданным.Несмотря на код:

private void Form1_Shown(object sender, EventArgs e)
    {
        InitializeControls();
        this.Hide();
    }

Форма никогда не была скрыта.Кроме того, VS 2010 также запустился.Кто-нибудь понимает, почему поведение отличается, когда я помещаю .exe в папку автозагрузки v. Просто дважды щелкните по нему?

Примечания.Он подключается к базе данных, вытаскивая строку подключения из файла конфигурации:

ConfigurationManager.ConnectionStrings["default"].ToString();

Единственное, что содержит файл конфигурации, - это строка подключения, и я также помещаю файл конфигурации в папку автозагрузки.Что касается того, что он делает, он просто запрашивает базу данных и заполняет 7 или 8 меток в форме.Он сворачивается в системный трей, запускается каждый час через таймер, но также имеет кнопку обновления.

1 Ответ

0 голосов
/ 09 июня 2011

Скорее всего, ваш рабочий каталог неправильно установлен в файле ссылки на загрузочный файл.Поэтому в приложении отсутствует файл * .exe.config (или вы просто забыли его скопировать?).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...