【发布时间】:2016-12-25 14:24:54
【问题描述】:
我在将带有 Angular2 的 ASP.NET Core 应用程序部署到 IIS 时遇到问题。
到目前为止的步骤 -
- 在this 之后使用 aspnetcore-spa 生成器创建了一个入门 Angular2 asp.net 核心项目
- 使用了一些 Angular 代码,并且能够在 VS2015 和命令行中进行调试。此时代码正在运行
- 在this 之后设置了 IIS
- 使用VS2015发布到文件夹。创建了一个新的 IIS 应用程序并指向该文件夹。
- 指向浏览器并出现错误
处理您的请求时出错。
日志文件显示
失败:Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware[0] 发生未处理的异常:调用节点模块失败并出现错误:要使用预渲染,您必须安装“aspnet-prerendering”NPM 包。 System.Exception:调用节点模块失败并出现错误:要使用预渲染,您必须安装“aspnet-prerendering”NPM 包。
带有 aspnet-prerendering 的 node_module 文件夹位于输出文件夹中。
最后一件事要测试 IIS 是否正常工作,我从 .NET 核心的 VS 模板创建了一个基本项目,并且能够让 IIS 为基本应用程序工作。没有 npm 依赖。
感谢您对此的任何指导。
【问题讨论】:
-
在更多的挖掘和尝试了一堆东西之后 - 我最终为应用程序池设置了我的凭据并且它起作用了。我以为我早些时候尝试过但没有成功,但可能是与我做过的其他事情的结合。我也能够使用 LocalSystem - 但不能使用 ApplicationPoolIdentity。只是为了好玩,我还在输出文件夹中的 node_modules 中重命名了 aspnet-prerendering 文件夹,即使在我的用户下运行时也会破坏它(认为它可能是路径的东西)。安全权限在输出文件夹中是完全开放的,所以目前不确定,但必须是安全的事情。
标签: npm asp.net-core