Тестирование проекта в Visual studio 2012

236
17 августа 2017, 19:41

Обновление моего приложения (назовем его Main) происходит через другую программу (назовем ее Update) Алгоритм обновления такой

  1. Приложение Main во время работы получает команду обновится и запускает Update
  2. Update гасит все процессы Main и затем копирует вместо исполняемого файла Main новый файл с сервера обновлений
  3. Update запускает уже обновленный Main, а сама завершает работу

Проблема в том, что на некоторых компьютерах приложение Update выдает ошибку. Но если мы запускаем ее в Visual studio ошибки не возникает. Видимо она возникает именно когда ее запускает приложение Main.

Отсюда у меня к сообществу следующий вопрос: как можно отладить программу в таком случае?

Или подскажите другой алгоритм обновлений.

Answer 1

Для таких целей нужно использовать логирование, ведь сейчас вы гадаете на "кофейной гуще" и ищите ту или иную проблему. А проблем может быть множество, возьмем к примеру версии .NET; а может у пользователя попросту нет прав для изменения файлов. Вот для этого всего и надо узнавать конкретно что и где у вас "падает", а в этом помогает именно логирование.

Скажем процесс следующий:

  • Вы создали приложение.
  • В него вы добавили библиотеку NLog (или подобные ей, можно простенький свой логер написать, а можно использовать сайты по сбору логов (к примеру Exceptionless)).
  • В коде проставили в нужных местах отлавливание того, что у вас происходит "под капотом". И также подписались на событие, которое происходит при необработанной ошибке.
  • Все, со временем работы программы вы будете видеть в файле все его действия и если произойдет ошибка, то достаточно взять у пользователя лог и посмотреть его.
READ ALSO
System.InvalidCastException: “Не удалось привести тип объекта ”System.Windows.Controls.TextBox“ к типу ”System.IConvertible“.”

System.InvalidCastException: “Не удалось привести тип объекта ”System.Windows.Controls.TextBox“ к типу ”System.IConvertible“.”

Здравствуйте! Помогите, пожалуйста, в чем ошибка? SystemInvalidCastException: "Не удалось привести тип объекта "System

255
Проблема с нанесением урона персонажу

Проблема с нанесением урона персонажу

Есть персонаж и монстрКогда персонаж касается монстра, у персонажа должно отниматься здоровье

163
C# POST запрос для доступа к API

C# POST запрос для доступа к API

Необходимо выполнить POST запрос на один сайт, у меня есть ключ к его APIМожете, пожалуйста, подсказать, как можно реализовать запрос к сайту...

317
asp использование media-breakpoint-up

asp использование media-breakpoint-up

В bootstrap есть такие механизмы

214