#.net-core #deployment #publish
#.net-core #развертывание #опубликовать
Вопрос:
Следуя документам Microsoft, я использовал VS 2019 для публикации приложения Asp Net Core. Следуя документам Microsoft для развертывания приложения в IIS. У меня есть правильный ASP.NET Основной модуль и среда выполнения (3.1) установлены для моего проекта. При переходе на домашнюю (любую) страницу приложения я получаю страницу ответа «Этот сайт недоступен». Это не страница с ошибкой из IIS на моем VPS, похоже, это страница / сообщение по умолчанию из браузера. На моем VPS нет сообщений об ошибках от событий IIS.
Насколько я понимаю, служба активации процессов Windows (WAS) не запускает приложение, хотя в пуле приложений отображается 1 приложение, назначенное ему.
Поэтому, используя web.config, я установил для ведения журнала значение true.
<aspNetCore processPath=".IS4.exe" stdoutLogEnabled="true" stdoutLogFile=".logsstdout" hostingModel="inprocess">
Затем я зашел в физический каталог проекта на VPS, щелкнул правой кнопкой мыши на IS4.exe и побежал как администратор. Это привело к ошибке, которая была зарегистрирована.
Итак, program.cs моего приложения передает пустую строку вместо URI. Но он использует путь с моего ноутбука для разработки; НЕ путь из set в переменных среды web.config на рабочей машине.
В проекте вообще НЕТ ЖЕСТКО ЗАКОДИРОВАННЫХ URL-адресов / URI. Все переменные, требующие URL / URI, задаются в appsettings.json и в переменных среды. НАПРИМЕР: Конфигурация [«AppURLS:IS4BaseUrl»]
Итак, почему в строке 12 и строке 15 файла журнала не указано:
бла-бла-бла ……………….. в C:inetpubIS4Program.cs:line 81
и
в IS4.Program.Main(строка [] аргументов) в C:inetpubIS4Program.cs:line 58
Я не нашел хорошего поискового запроса или фразы Google, которые привели бы меня к ответу, поэтому я решил спросить здесь. Почему program.cs выходит из каталога проекта моей среды разработки, а не из каталога сервера, на котором я пытаюсь его развернуть. Я думаю, что это корень моих проблем с развертыванием или, по крайней мере, отправная точка.
У кого-нибудь есть идеи? Спасибо
Ответ №1:
Поэтому я все еще не уверен, почему журнал ошибок указывал на каталог моего ноутбука, а не на каталог сервера развертывания, но я заметил, что моя строка подключения к БД не была должным образом экранирована. Как только я исправил строку подключения, приложение запустилось, и я смог перейти к приложению и просмотреть сайт.
Правописание и экранирующие строки — мое проклятие: (