Устранение неполадок в приложении .NET, которое не запускается - PullRequest
6 голосов
/ 14 мая 2009

У меня периодически возникает проблема с приложениями .NET, которые не запускаются (в других системах, кроме моей). Дело в том, что я, к сожалению, не могу всегда создать бесперебойно работающий пакет. Поэтому мне часто приходится отправлять ZIP-файл из папки Debug или Release.

Моя настоящая проблема в том, что эти приложения не говорят, ПОЧЕМУ они не запускаются. Я просто не получаю никаких исключений, если я запускаю их из командной строки, ни в EventLog, ни даже если я пытаюсь напечатать на выходе результат блока Try Catch во всех моих приложениях ... я что-то упустил?

В большинстве случаев отсутствуют библиотеки или проблемы, связанные с безопасностью. Но было бы неплохо узнать, что именно происходит безболезненно: D

Ответы [ 4 ]

3 голосов
/ 14 мая 2009
3 голосов
/ 14 мая 2009

Вы пробовали смотреть журналы слияния? У Сюзанны Кук есть статья на эту здесь .

Еще одна вещь, которую нужно сделать (чтобы минимизировать тихие ошибки): минимизируйте свой метод Main; причина в том, что JIT работает для каждого метода, и если он не может JIT Main, он не может использовать вашу обработку исключений:

/* for winform, you still new [STAThread] here */
static void Main() {
  try {
     MainCore();
  } catch (Exception ex) {
     // shout about it
  }
}

[MethodImpl(MethodImplOptions.NoInlining)] // usually overkill
static void MainCore() {
  // real code
}
1 голос
/ 21 декабря 2009

У меня была проблема, из-за которой приложения WPF не запускались - оказывается, проблема была связана со шрифтами на ПК пользователя - отключение службы WindowsPresentationFontCache устранило проблему.

Я также нашел пост в другом месте со следующей информацией ...

... по какой-то неизвестной причине у клиента были неправильные записи в разделах реестра, которые используются для создания этого кэша «семейства шрифтов по умолчанию», указанного в трассировке стека. Заказчику было предложено экспортировать записи в разделе HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Fonts и отправить мне файл. Было несколько имен файлов шрифтов, странно начинающихся с тире (---). Они были исправлены, и файл реестра был отправлен обратно клиенту для импорта. После этого приложение успешно запустилось!

Может также потребоваться удалить кэш шрифтов, следуя инструкциям в этой ссылке http://support.microsoft.com/kb/937135

0 голосов
/ 14 мая 2009

Я знаю, что это не решает проблему напрямую - но вы пытались опубликовать свое приложение (если, конечно, вы используете Visual Studio)? Это должно обернуть все, что вам нужно, в установщик.

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