Я разместил свое основное приложение .net на Elastic beanstalk, чтобы использовать API для подписи PDF-файла.
Приложение успешно размещено, но получает внутреннюю ошибку сервера 500
Я зашел на свой сервер, чтобы получить краткое представление об ошибке в средстве просмотра событий, и получил System.IO.FileNotFoundException: Could not load file or assembly 'System.Drawing.Common, Version=6.0.0.0,
в разделе приложений журналов Windows.
Примечание: приложение размещено с помощью эластичного beanstalk с IIS 10.0, работающим на 64-разрядной версии Windows Server 2019/2.11.2.
Обычно для этого типа ошибки сначала необходимо проверить ваш проект и убедиться, что package.dll существует.
Проверьте список зависимостей вашего проекта приложения и убедитесь, что ссылка на файл dll выполнена успешно. Зависимости System.Drawing.Common 6.0.0 относятся к: https://www.nuget.org/packages/System.Drawing.Common/6.0.0#dependencies-body-tab.
Наконец, вы можете попробовать удалить и переустановить нужный вам пакет System.Drawing.Commo через NuGet Manager.
Для дальнейшего определения точной причины ошибки 500. Вы можете включить FRT: https://learn.microsoft.com/en-us/iis/troubleshoot/using-failed-request-tracing/troubleshoot-with-failed-request-tracing
Вы развернули свое основное приложение .net в локальном IIS? Возникли ли у вас те же проблемы в локальном IIS? Если он работает нормально локально, это может быть вызвано конфигурацией Elastic beanstalk.
Проблема была в файле buildspec.sh, который используется при сборке кода
В части postBuild, где мы должны заархивировать наш файл публикации, мы должны использовать следующую команду zip ../{appname}.zip -r * .[^.]*
https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/applications-sourcebundle.html
Я уже проверил все зависимости для System.drawing.Common, также попытался удалить его, но получил ту же ошибку.