развертывание ядра aspnet на рабочей машине ищет appsettings.json, используя путь к машине разработки

#.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:

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

Правописание и экранирующие строки — мое проклятие: (