由于我们使用到了Razor引擎,我们同样需要将相关的NuGet包“Microsoft.AspNetCore.Razor.Tools”按照如下的方式添加到project.json文件中。除此之外,基于View动态编译的需要,我们需要添加一个名为“preserveCompilationContext”的编译选项,并将其值设置为true。
: {: :: :: {: {: "1.0.0" 23: } 24: }, 25: "imports": "dnxcore50" 26: } 27: } 28: }
除此之外,View的定位依赖于一个根路径,所以我们需要按照如下的方式调用WebHostBuilder的UseContentRoot方法将当前目录设置为此根目录。
Microsoft.AspNetCore.Builder;ConsoleApplicationProgramMain(string[] args) 10: { 11: new WebHostBuilder() 12: .UseKestrel() 13: .UseStartup<Startup>() 14: .UseContentRoot(Directory.GetCurrentDirectory()) 15: .UseUrls("http://localhost:8888/", "http://localhost:9999/") 16: .Build() 17: .Run(); 18: } 19: } 20: }
当我们按照上面的方式启动这个ASP.NET Core MVC应用后,如果我们利用浏览器访问与注册路由相匹配的目标地址(“:9999/foobar”),可以得到如下所示的相应结果。源代码下载:netcore.helloworld5