我一直在学习Angular并使用dotnet new angular
来创建新的应用程序。我试图将从模板创建的应用程序升级到Angular 4,然后才发现它完全破坏了它。我确实尝试回滚到2但没有成功,现在我发现使用SPA模板从头开始创建新应用程序会导致以下错误。在按Ctrl + F5之前,我没有更改代码。
TS2345:类型' {html:string; }'不能分配给' RenderToStringResult |类型的参数RedirectResult | PromiseLike&#39 ;. 输入' {html:string; }'不能分配类型' PromiseLike'。 物业'然后'类型' {html:string; }'
违规文件似乎是boot-server.ts,特别是下面的代码部分。
return requestZone.run<Promise<string>>(() => platform.serializeModule(AppModule)).then(html => {
resolve({ html: html });
}, reject);
更新
这是VS2017中的调试问题。 dotnet run
工作正常。
答案 0 :(得分:1)
问题不是来自VS2017,而是一个已更新的软件包,并且基于package.json配置,它将在npm install
或yarn
上更新(或者在您检查时尝试发布) csproj配置),问题包是:"aspnet-prerendering": "2.0.4",
刚刚在3-4小时前发布,使用2.0.3
解决了这个问题。
尝试使用npm install aspnet-prerendering@2.0.3
这个问题很可能会在几个小时内解决。
dotnet run
无法运行npm
任务,因为它可以处理wwwroot文件夹中已有的文件。
更新
已推送新的软件包更新以修复此问题2.0.5
https://github.com/aspnet/JavaScriptServices/issues/918