将使用Visual Studio 2017模板制作的Angular 7应用部署到IIS

时间:2019-06-27 15:30:31

标签: angular iis visual-studio-2017 .net-core-2.2

我是.net core和angular的新手。我制作了一个简单的应用程序,当时正在寻找有关如何将其部署到IIS的不错的指南。我正在使用.net core 2.2和angular 7。

我能找到的大多数内容都是描述纯角度应用程序的部署步骤。我试图在解决方案上运行dotnet publish,然后将IIS指向输出,但是没有运气。我还尝试将ClientApp \ dist文件夹的内容移到wwwroot文件夹,但是没有任何积极效果。

我相信index.html或web.config文件应该做些事情。

有人知道在哪里可以找到分步指南,或者可以分享他们的工作经验吗?

先谢谢!

2 个答案:

答案 0 :(得分:1)

  

我认为index.html或   web.config文件。

web.config中设置Angular路线:

<?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>

如果要在非root子文件夹中部署它。然后在index.html中设置应用的基本href。

例如:

<base href="/myapp">

答案 1 :(得分:0)

我想我随机解决了这个问题。

我尝试不使用CLI dotnet发布,而是使用VS2017发布到文件夹功能(在我的世界中应该基本相同,但是明天我将检查文件,如果有一些差异,请更新此注释)。

然后,我将IIS指向目标文件夹,并在安全性选项卡上添加具有完全控制权限的用户IUSR,NETWORK,NETWORK SERVICE和IIS_IUSRS。

然后...就行了。