Только что натолкнулся на эту проблему (Вкратце: после развертывания только что сгенерированного приложения ядра netnet в экземпляр IIS получил 404 для всех файлов .css и .js) и обнаружил, что первый ответ работаетдля меня.Когда сборка приложения с --base-href <basedir>
опцией 404s исчезает, приложение начинает работать.
В настоящее время я хочу заархивировать то, что dotnet publish
будет делать это автоматически для каждого профиля публикации (поэтому жестко закодируйте base-href для.csproj здесь не вариант).Я подумал, чтобы сделать эту работу, что я добавил новое свойство в файл profile.pubxml.user :
<PropertyGroup>
...
<additionalBuildParams>--base-href /myapp/</additionalBuildParams>
...
</PropertyGroup>
и изменил файл .csproj как:
<Target Name="PublishRunWebpack" AfterTargets="ComputeFilesToPublish">
...
<Exec WorkingDirectory="$(SpaRoot)" Command="npm run build $(additionalBuildParams) --prod" />
...
</Target>
но после выполнения dotnet publish -c Debug /p:PublishProfile=profile.pubxml
результат будет выглядеть следующим образом:
λ dotnet publish -c Debug /p:PublishProfile=profile.pubxml
Microsoft (R) Build Engine version 15.9.20+g88f5fadfbe for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.
...
> MyApp@0.0.0 build C:\Projects\MyApp
> ng build --extract-css "/myapp/"
Очевидно, что желаемый результат будет:
> ng build --extract-css --base-href /myapp/