Почему web.config создается на publi sh, а не при сборке проекта в Asp. Net Core API? - PullRequest
0 голосов
/ 27 мая 2020

У меня есть проект Asp. net Core 3.1 API. Когда я создаю, он не создает никакого файла web.config, но когда я публикую sh API с помощью VS 2019 в папке, он создает файл web.config. Итак, почему он не создает web.config при сборке (я думаю, он не должен создавать, потому что в проекте нет файла web.config), но почему он создает файл web.config при публикации?

Изменить: Я пытаюсь развернуть приложение через Octopus, поэтому я копирую содержимое папки bin, и мне также нужен web.config. Итак, пока я вручную создал файл web.config в проекте, а затем собрал проект. поэтому он копирует web.config в папку bin. Итак, это правильный подход? или есть ли способ создать web.config в папке bin, не создавая его вручную?

1 Ответ

0 голосов
/ 28 мая 2020

Насколько мне известно, файл web.config используется для сообщения IIS о том, как использовать asp. net основной модуль и обработчик для размещения asp. net основного приложения. Когда вы создаете и тестируете приложение в VS, нет необходимости создавать web.config, поскольку он будет читать launchSettings.json, а не web.config.

Web.config - это файл конфигурации сервера, он используется для настройки ASP. NET Core Module.

Файл web.config может содержать дополнительные параметры конфигурации IIS, которые управляют активные модули IIS. Для получения информации о модулях IIS, которые могут обрабатывать запросы с ASP. NET базовыми приложениями, см. модули IIS topi c.

Asp. net основное содержимое web.config (без этого файла мы не могли бы напрямую разместить основное приложение asp. net в IIS)

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <location path="." inheritInChildApplications="false">
    <system.webServer>
      <handlers>
        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
      </handlers>
      <aspNetCore processPath="dotnet" arguments=".\basket.api.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout">
           </aspNetCore>
    </system.webServer>
  </location>
</configuration>
...