Вот сценарий:
Проект приложения C # Windows, хранящийся в SVN, используется для создания исполняемого файла. Обычно сервер сборки обрабатывает процесс сборки и создает сборки через равные промежутки времени, которые используются при тестировании. В этом конкретном случае меня попросили изменить конкретную сборку и создать исполняемый файл.
Я не совсем уверен, изменяет ли сервер сборки файлы проекта, но я знаю, что он создает в SVN тег исходного кода, который он использовал для компиляции исполняемых файлов. Используя этот тег, я проверил код на второй машине, которая является машиной для разработки. Затем я скомпилировал исходный код на компьютере разработчика.
При выполнении приложение, скомпилированное на компьютере разработчика, не работает точно так же, как приложение, скомпилированное сервером сборки. Например, на машинах тестирования приложение DateTime Parse обнаруживает приложение. Тем не менее, исполняемый файл сборочной машины не вызывает каких-либо исключений. Если я запускаю исполняемый файл на компьютере разработчика, исключения не выдаются.
Итак, в итоге, обе машины теоретически используют один и тот же исходный код и проекты.
Исполняемый файл разработчика работает только на компьютере разработчика. Исполняемый файл Build machine работает на каждой машине, включая машину dev.
Сохранены ли региональные настройки устройства или часовой пояс в скомпилированном исполняемом файле? Любая идея, что может вызвать такое поведение или как проверить исполняемые файлы, чтобы найти возможные различия и исправить их?
К сожалению, я не могу взять тестовую машину и подключить к ней отладчик. Как только смогу, буду.