设置 asp net core-angular-universal example seed 的问题

problems setting up aspnetcore-angular2-universal example seed

一段时间以来,我们一直在努力寻找 SPA 服务器预呈现的解决方案,特别是 Angular4,以达到 SEO 的目的。

我们开始尝试使用 aspnetcore-angular2-universal,这似乎是完美的解决方案,但是,我们在将发布的构建部署到本地 IIS 服务器时遇到问题。

我们已在问题页面上发布了关于该问题的问题,可在此处找到:
https://github.com/MarkPieszak/aspnetcore-angular2-universal/issues/491

我们已完全按照 "Getting started" & "Deploy" 下的说明(可在此处找到:https://github.com/MarkPieszak/aspnetcore-angular2-universal),但错误仍然存​​在。
支持对问题反应迟钝,因此我们也在这里发帖。

问题是(如此处链接的问题中所述)我们收到以下错误:

这表示 web.config 文件有问题。然而,webconfig 文件与启动项目中提供的完全一样,而且看起来也是合法的。
我应该提到使用 npm build:proddotnet 运行 构建和 运行ning 项目是可行的,我们可以从 Visual Studio Code 启动内存应用程序,但是当将发布的文件夹带到 IIS 文件夹时会发生错误。

任何帮助将不胜感激。

  1. 你安装了吗.NET Core Windows Server Hosting bundle
  2. 检查 AspNetCoreModule 是否列在 IIS => Modules 中。有时它在#1 期间没有正确安装,即使在所有步骤中都有 "Succeeded"。在那种情况下,我只是通过程序和功能将其删除,然后重新安装。
  3. 有一次我在发布文件夹中从来源手动复制 web.config 时看到该错误。问题是原始 web.config 包含 %LAUNCHER_PATH%%LAUNCHER_ARGS% 等占位符,它们在 dotnet publish 期间变成适当的值(例如 dotnet.\YourApp.dll

显然在服务器端 angular5 和 universal 之间存在不匹配。 https://github.com/MarkPieszak/aspnetcore-angular2-universal 种子被降级为使用 angular4.3 而不是 5。当我们更新种子时,问题就解决了。