我想在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具有角色?提前谢谢!
答案 0 :(得分:2)
其他替代方案 - 您可以使用 Microsoft.AspNetCore.SpaTemplates
要安装SPA模板,请运行以下命令
dotnet new --install Microsoft.AspNetCore.SpaTemplates::*
要生成新项目,请使用以下命令
dotnet new angular
生成的模板为您提供netcoreapp1.1
但您可以将其更改为net462
,例如<TargetFramework>net462</TargetFramework>
然后使用dotnet restore
和npm install
恢复NuGet和npm包。
成功完成后,使用dotnet build
和dotnet 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;从项目文件夹中的命令行。如果这些失败,它可能会提示您项目无法正常工作的原因。