#c# #winforms #visual-studio-2019 #publish #windows-server-2016
#c# #winforms #visual-studio-2019 #опубликовать #windows-server-2016
Вопрос:
я разрабатывал приложение c # с использованием VS2019, которое работало на Win 8.1 x64. теперь я хочу перенести приложение на VPS, на котором был запущен Win Server 2016. я попытался скопировать все файлы из папки Releas в server bot, когда я запустил приложение, ничего не произошло, даже ни одного сообщения об ошибке.
итак, я попытался опубликовать приложение с помощью VS и перенести установочные файлы. затем я установил приложение на сервер, и снова ничего не произошло.
я читал, что кто-то сказал, что свойство ссылок «Копировать локальные» может помочь боту, оно тоже никуда не делось.
в приложении установлены некоторые зависимости и пакеты NuGet, такие как Microsoft SMO и MS.interop.excel
я нашел файл журнала на «C:ProgramDataMicrosoftWindowsWERReportArchive » с именем «AppCrash_ ******», которое включает в себя некоторую информацию, но я не выяснил, в чем проблема.
где я могу найти файл журнала для этого случая? в чем может быть проблема?
Редактировать 1: приложение представляет собой приложение Windows form с .net 4.6.1
заранее благодарим вас за помощь
Комментарии:
1. Для этого требуется дополнительная информация. Какое «приложение» вы выбрали? .NET framework 4.x и Winforms? Консольное приложение? .NET 5? Ядро? вы уверены , что нет зависимостей, букв дисков, путей, установленных неправильно.. также проверьте, может ли ваш VPN загружать Framework 4.x или другие обновления .NET. Я видел, что .net Framework 4.7 или 4.8 Winforms не работают на сервере 16, в то время как 4.5 работал нормально.
2. @Goodies приложение представляет собой приложение Windows form, и я использую .net framework 4.6.1, я не уверен, что я сделал что-то не так с зависимостями, но везде, где в коде я ссылался на путь или любую локальную переменную (например, имя сервера для SQL), я помещаю их в Try amp;Поймать, чтобы я мог выполнить и показать сообщение об ошибке. что касается зависимостей, я использовал их как всегда, я добавил dll в качестве ссылки и использовал ее в коде.
3. Хорошо, спасибо, я изменил теги в вашем вопросе. О сообщениях об ошибках: вы пробовали запускать приложение из консоли командной строки? когда он выдает консоль. Запись или отладка. Напишите сообщение об ошибке, вы увидите его в консоли. Поставьте некоторую отладку. Сообщения WriteLine() в начале вашего program.cs. Кроме того, попробуйте скомпилировать свою программу в режиме отладки, а не выпуска. Если возможно, запустите тест в 32-разрядном режиме (x86)
4. @Goodies Спасибо, чувак, я собираюсь попробовать, а затем сообщу
5. В вопросе нет полезной информации. С Windows Server все в порядке. Само приложение должно обрабатывать исключения и регистрировать ошибки. Даже если приложение не обрабатывает ошибки, необработанные исключения будут записаны в журнал событий приложения. Если приложение скрывает исключения с
catch{}
помощью though, возможно, нет никакого способа выяснить, что не так
Ответ №1:
итак, это была проблема с пакетом VS C . я установил все пакеты VS C и проблема решена. очевидно, что одна из зависимостей нуждалась в этом