На основании решения @savinn, которое работает замечательно, я попытаюсь объяснить решение еще раз,
В угловом проекте veriosn 7 у меня есть index.hmtl, вот так
index.html
<base href="/">
правильно работает для запуска приложения в режиме разработки на IIS Express (F5),
но для производственного режима вам нужно определить имя projcet как это
index.html
<base href="/ProjectName/">
но вы не можете изменять его каждый раз и регистрировать свой исходный код, поэтому на основе решения @savinn вы можете установить
package.json
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build --prod --aot --base-href /ProjectName/",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
},
теперь, когда вы публикуете свой проект в IIS в Visual Studio 2017, он запускает эту сборку ng, и в опубликованном файле index.html в IIS вы можете увидеть это
Опубликовал index.html в IIS, ClientApp \ dist \ index.html
<base href="/ProjectName/">
, поэтому, не изменяя index.html, вы можете запустить приложение в режиме разработки и опубликовать его с помощью VS publish в IIS.