Разверните приложение Angular 7, созданное с помощью шаблона visual studio 2017, на IIS - PullRequest
0 голосов
/ 27 июня 2019

Я новичок в .net core и angular. Я сделал простое приложение и искал достойное руководство по его развертыванию в IIS. Я использую .net Core 2.2 и угловой 7.

Большая часть того, что я смог найти, - это описание этапов развертывания для чисто угловых приложений. Я попытался запустить dotnet publish для решения и затем указать IIS на вывод, но безуспешно. Я также пытался переместить содержимое папки ClientApp \ dist в папку wwwroot, но положительного эффекта не было.

Я полагаю, что что-то должно быть сделано с файлом index.html или web.config.

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

Спасибо заранее!

Ответы [ 2 ]

1 голос
/ 27 июня 2019

Я считаю, что есть что-то, что должно быть сделано с index.html или Файл web.config.

В web.config вы задаете угловые маршруты:

<?xml version="1.0" encoding="utf-8"?>
<configuration>

<system.webServer>
  <rewrite>
    <rules>
      <rule name="Angular Routes" stopProcessing="true">
        <match url=".*" />
        <conditions logicalGrouping="MatchAll">
          <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
          <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
        </conditions>
        <action type="Rewrite" url="./index.html" />
      </rule>
    </rules>
  </rewrite>
</system.webServer>

</configuration>

Если вы развертываете его в подпапке, а не в корне. Затем установите базовую ссылку вашего приложения в index.html.

Например:

<base href="/myapp">
0 голосов
/ 29 июня 2019

Я думаю, что решил немного случайно.

Я пытался использовать не публикацию в CLI dotnet, а функцию публикации в папке VS2017 (которая должна быть практически такой же в моем мире, но завтра я проверю файлы и обновлю этот комментарий, если есть некоторые различия).

Затем я указал IIS на целевую папку и добавил пользователей IUSR, NETWORK, NETWORK SERVICE и IIS_IUSRS с полными правами доступа на вкладке Безопасность.

И ... это просто сработало.

...