我有一个问题,使用Angular2部署ASP.NET核心应用程序到IIS .
迄今为止的步骤 -
-
使用aspnetcore-spa生成器创建了一个启动Angular2 asp.net核心项目this
-
玩了一些角度代码,能够在VS2015以及命令行中进行调试 . 此时代码正在运行
-
在this之后获得了IIS设置
-
使用VS2015发布到文件夹 . 创建了一个新的IIS应用程序并指向该文件夹 .
-
指向浏览器并收到错误消息
处理您的请求时发生错误 .
日志文件显示
fail:Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware [0]发生了未处理的异常:调用节点模块失败,错误:要使用预渲染,必须安装'aspnet-prerendering'NPM包 . System.Exception:调用Node模块失败,错误:要使用预渲染,必须安装'aspnet-prerendering'NPM包 .
具有aspnet-prerendering的node_module文件夹位于输出文件夹中 .
测试IIS工作的最后一件事是,我从VS core的.NET模板创建了一个基本项目,并且能够让IIS为基本应用程序工作 . 没有npm依赖项 .
感谢您的任何指导 .
1 回答
我遇到了同样的问题,经过几个小时的unuccsessfull尝试解决错误后,我从VS2015模板创建了一个新的ASP.NET核心Web应用程序,并将所有.json和webpack配置文件,ClientApp和typings文件夹都复制到其中 . 我还从我的项目更新了Views文件夹 . 我没有替换web.config(我认为web.config可能会导致问题,但我不确定) . 在这些行动之后,一切似乎都正常运作 .
另外,由于this问题,我将
<TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>
添加到我的.xproj文件中 .