具有完整.NET Framework和Angular 2的ASP.NET Core

时间:2017-06-01 15:12:17

标签: .net angular asp.net-core

我想在https://github.com/aspnet/JavaScriptServices/上使用Angular单页面应用程序模板来创建新的Web应用程序。但该模板使用ASP.NET Core和.NET Core。我想将ASP.NET Core与完整 .NET Framework一起使用。

我尝试更改模板生成的.csproj的<TargetFramework>属性,但是当我尝试运行时,我得到this exception page

我尝试搜索Google,但一切都是指.NET Core!

我猜测WebPackMiddleware在完整的.NET Framework中是不可用的?我不知所措。

我使用的是最新版本的Visual Studio 2017。

我该如何解决这个问题 - 或者 - 是否有一个更好的入门模板我应该使用它与ASP.NET Core和Full .NET Framework具有角色?提前谢谢!

2 个答案:

答案 0 :(得分:2)

其他替代方案 - 您可以使用 Microsoft.AspNetCore.SpaTemplates

要安装SPA模板,请运行以下命令

dotnet new --install Microsoft.AspNetCore.SpaTemplates::*

要生成新项目,请使用以下命令

dotnet new angular

生成的模板为您提供netcoreapp1.1

但您可以将其更改为net462,例如<TargetFramework>net462</TargetFramework>

然后使用dotnet restorenpm install恢复NuGet和npm包。

成功完成后,使用dotnet builddotnet run构建并运行应用程序。

有关详细信息,请参阅此blog

答案 1 :(得分:0)

我已经成功地在dot net框架中工作,并且热模块替换工作正常。我的工作应用程序找到here,但如果您不知道如何正确配置授权,则需要在HomeController中注释掉[Authorize]属性。

创建项目时,您使用的是最新版本的Dot Net Core 2吗?我最初开始使用Dot Net Core 2的预览版本,发现当我在VS2017.3中安装最新版本时它没有正确升级,所以应用程序崩溃了。我不得不卸载预览版并安装最新的2.0版本。

其次,你实际安装了dot net 2.0框架吗?当您打开新的ASP.Net核心Web应用程序时,它会在对话框的顶部放置一个黄色条,以便您安装它。

如果已安装,您是否从对话框中选择Angular项目时选择了.NET Framework和ASP.NET Core 2.0?

最后,在应用程序本身,它需要在幕后运行npm install以从package.json文件中安装所有npm软件包。它还需要安装nuget包,然后在第一次运行时执行webpack编译。

npm可能存在防火墙和损坏的npm缓存问题。你可以运行&#34; npm install&#34;从项目文件夹中的命令行。你可以运行&#34; webpack --config webpack.config.vendor.js&#34;从项目文件夹中的命令行。如果这些失败,它可能会提示您项目无法正常工作的原因。