Развертывание Asp. net Core 3.1 не работает на Windows сервере - PullRequest
0 голосов
/ 27 марта 2020

У меня есть Asp. net Core 3.1, разработанный для предварительного просмотра VS2019. в основном это приложение на стороне сервера Blazor со ссылками на сборки и некоторыми нюгетами.

нормально работает на VS2019 и на моем IIS после публикации в папке .. проблема в том, когда я перемещаю эту папку на windows серверную машину с установленным IIS и все. появляется ошибка с кодом 500.

одна вещь, которую я заметил здесь: файл log_error.txt на сервере указывает на исключение, и это исключение - что бы это ни было - показывает строка ошибки файла startup.cs с путем к каталогу моего ноутбука!

я имею в виду, что это показывает C:/mrmeeez/..../Startup.cs line 411

, но этот путь не существует на сервере windows, который он предполагал быть F:/.... somthing/Startup.cs line 411

я не знаю, имеет ли это какое-либо отношение к проблеме в любом случае ... или, может быть, мои сборки и нюгеты не доставляются корректно на сервер

windows сервер Машина работает нормально, я попробовал шаблон приложения Blazor, и он работал отлично. Мне нужна ваша помощь, ребята, спасибо!

1 Ответ

0 голосов
/ 27 марта 2020

Хорошо, я нашел это

Я точно не знаю, связано ли это с asp. net ядром 3.1, потому что я развернул asp. net ядро ​​2,1 месяца go и все было в порядке

В любом случае я использовал страницу исключений разработки в окончательной публикации sh, чтобы посмотреть, что вызвало ошибку, и показал это

UnauthorizedAccessException: Доступ к пути ' C: \ Windows \ system32 \ config \ systemprofile \ AppData \ Local \ ASP .NET \ DataProtection-Keys 'отклонено.

и после поиска я нашел ответ от Парень в github, кажется, что пользователь IIS_IUSRS для этого пула приложений - по умолчанию - не имеет разрешения на доступ к этому пути

для решения этой проблемы, любой из двух ниже:

1 -Дать IIS_IUSRS разрешения на доступ к системным файлам -НЕ РЕКОМЕНДУЕТСЯ-

2-Измените пользователя пула приложений на учетную запись LocalSystem в IIS, перейдя в Пулы приложений -> Щелкните правой кнопкой мыши свое приложение -> Advance Sett ings -> раздел Модель процесса, затем измените Идентичность

Ссылка: https://github.com/dotnet/aspnetcore/issues/1983

Спасибо!

...