我是.net core和angular的新手。我制作了一个简单的应用程序,当时正在寻找有关如何将其部署到IIS的不错的指南。我正在使用.net core 2.2和angular 7。
我能找到的大多数内容都是描述纯角度应用程序的部署步骤。我试图在解决方案上运行dotnet publish,然后将IIS指向输出,但是没有运气。我还尝试将ClientApp \ dist文件夹的内容移到wwwroot文件夹,但是没有任何积极效果。
我相信index.html或web.config文件应该做些事情。
有人知道在哪里可以找到分步指南,或者可以分享他们的工作经验吗?
先谢谢!
答案 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。
然后...就行了。