.net 找不到Razor模板
我第一次试用ASP.NET Core RC2。我设法使到控制器的路由正常工作——如果控制器返回.net 找不到Razor模板,.net,asp.net-core,asp.net-core-mvc,.net-core,.net-core-rc2,.net,Asp.net Core,Asp.net Core Mvc,.net Core,.net Core Rc2,我第一次试用ASP.NET Core RC2。我设法使到控制器的路由正常工作——如果控制器返回内容(“hello world”),我会看到返回到浏览器的字符串“hello world” 如果控制器返回View(),我会得到一个错误 找不到视图“索引”。已搜索以下位置:/Views/Controller/Index.cshtml 我按照典型惯例确认了视图在文件夹结构中的正确位置。我知道如何在ASP.NET的其他版本中实现这一点 不过,这是我第一次使用ASP.NET Core,我正试图手动配置它,所
内容(“hello world”)
,我会看到返回到浏览器的字符串“hello world”
如果控制器返回View()
,我会得到一个错误
找不到视图“索引”。已搜索以下位置:/Views/Controller/Index.cshtml
我按照典型惯例确认了视图在文件夹结构中的正确位置。我知道如何在ASP.NET的其他版本中实现这一点
不过,这是我第一次使用ASP.NET Core,我正试图手动配置它,所以我想知道我遗漏了什么——也许我需要一些东西来注册管道中的Razor,或者注册模板的搜索路径
在我的
project.json
中,我对Microsoft.AspNetCore.Mvc
和Microsoft.AspNetCore.Razor
都有依赖关系 ASP.NET Core RC2的工作Program.cs
文件如下所示:
public class Program
{
public static void Main(string[] args)
{
var host = new WebHostBuilder()
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseStartup<Startup>()
.Build();
host.Run();
}
}
公共类程序
{
公共静态void Main(字符串[]args)
{
var host=new WebHostBuilder()
.UseKestrel()
.UseContentRoot(目录.GetCurrentDirectory())
.UseStartup()
.Build();
host.Run();
}
}
如果ASP.NET Core抱怨找不到文件,请确保
UseContentRoot(Directory.GetCurrentDirectory())
存在。这将设置Razor用于搜索视图的“基本”路径。您是否使用Visual Studio或其他方式构建新项目?不,尝试手动完成所有操作-命令行工具的存在似乎会降低VS的重要性您是否有var builder=new ConfigurationBuilder().SetBasePath(env.ContentRootPath)[…]
在您的启动
方法中?否-看起来我还需要将UseContentRoot(Directory.GetCurrentDirectory())
添加到我的Program.cs中。如果你这样回答,我会接受的,有道理。补充!