Я прихожу к вам, потому что я в отчаянии. Я разработал приложение GTK # на C# с последним MonoDevelop. Он создан для платформы .NET framework 4.0/x86, и единственной внешней библиотекой, которую он использует, является официальный соединитель Mysql .Net. Он предназначен для работы под Windows XP.Сбой приложений C# перед запуском
Это первое приложение, которое я делаю с этой IDE. Я был очень доволен результатами и временем разработки, но развертывание - настоящая головная боль.
Он отлично работает на машине разработки. Отладка чиста. Все хорошо.
Тогда, поскольку я не мог найти никакой информации о развертывании, я установил чистую XP, чтобы попробовать ее и посмотреть, что мне нужно установить на машине клиента.
Я установил SP3, .NET 4.0 и скопировал пакет выпуска со всеми DLL, упомянутыми в журнале сборки (что заставило его работать вне MonoDevelop на машине разработки). Но я получаю сообщение о том, что «приложение столкнулось с проблемой и должно закрыть» ошибку, без исключения, в файле kernel32.dll, offset 0012aeb.
Я попытался установить .NET 3.5 до версии 4.0, обновленного IE (на всякий случай ...), скопировал больше GTK # и Monodevelop DLL в папку exe, установил соединитель Mysql .NET, установил Mono 2.8 ... Но ничего. Все еще получаю эту необъяснимую ошибку.
Поиски Google и StackOverflow не помогли мне. Я исследовал и пробовал много вещей за последние двенадцать часов или более, не двигаясь с этой машины.
У вас есть совет? Что может быть причиной этого? Есть ли способ отладки exe (без установки VS ...)? Кто-нибудь знает, каковы все зависимости этого вида исполняемого файла?
если вы запустите его из командной строки с помощью отладочной сборки, это сбой? если да, то какой стек? – payo
Как действительно низкоуровневый тест, объедините код в каждом методе с помощью try-catch и просто удалите исключение stacktrace и сообщение в MessageBox. –
Большое спасибо за быстрые ответы, все. Я собираюсь попробовать это и посмотреть, что я узнаю. – Gabriel