加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net核心 – 如何在asp.net core mvc项目中解决“查看未找到

发布时间:2020-12-15 23:24:30 所属栏目:asp.Net 来源:网络整理
导读:我正在尝试使用VS代码创建在OSX上运行的ASP.NET Core MVC测试应用程序. 当我访问默认的主页/索引(或任何其他我尝试的视图)时,我得到一个“查看未找到”异常. 这是启动配置 public void Configure(IApplicationBuilder app) { // use for development app.Use
我正在尝试使用VS代码创建在OSX上运行的ASP.NET Core MVC测试应用程序.
当我访问默认的主页/索引(或任何其他我尝试的视图)时,我得到一个“查看未找到”异常.

这是启动配置

public void Configure(IApplicationBuilder app) {

        // use for development
        app.UseDeveloperExceptionPage();
        app.UseDefaultFiles();
        app.UseStaticFiles();

        app.UseMvc( routes => {
            routes.MapRoute(
                name: "default",template: "{controller=Home}/{action=Index}"
            );
        });
    }

而且我在Views / Home / index.cshtml中定义了视图,并且我在project.json中包含以下包

"dependencies": {
"Microsoft.NETCore.App": {
  "version": "1.0.0-rc2-3002702","type": "platform"
},"Microsoft.AspNetCore.Razor.Tools" : "1.0.0-preview1-final","Microsoft.AspNetCore.Diagnostics": "1.0.0-rc2-final","Microsoft.AspNetCore.Mvc": "1.0.0-rc2-final","Microsoft.AspNetCore.Server.IISIntegration": "1.0.0-rc2-final","Microsoft.AspNetCore.Server.Kestrel": "1.0.0-rc2-final","Microsoft.AspNetCore.StaticFiles": "1.0.0-rc2-final","Microsoft.AspNetCore.Routing": "1.0.0-rc2-final"
},

最后,这是我得到的例外.

System.InvalidOperationException: The view 'Index' was not found. The following locations were searched:
    /Views/Home/Index.cshtml
    /Views/Shared/Index.cshtml
    at Microsoft.AspNetCore.Mvc.ViewEngines.ViewEngineResult.EnsureSuccessful(IEnumerable`1 originalLocations)
    at Microsoft.AspNetCore.Mvc.ViewResult.<ExecuteResultAsync>d__26.MoveNext()
    --- End of stack trace from previous location where exception was thrown --- ...

任何关于我可能会失踪的建议

解决方法

我发现这个丢失的一块.我最终在VS2015中创建了一个ASP.NET Core项目,然后比较差异.原来我从主页的WebHostBuilder中缺少.UseContentRoot(Directory.GetCurrentDirectory()).

加入后:

public static void Main(string[] args)
{
    new WebHostBuilder()
        .UseKestrel()
        .UseContentRoot(Directory.GetCurrentDirectory())
        .UseStartup<Startup>()
        .Build()
        .Run();
}

然后我收到一个关于missingcompilationContext的异常.一旦在project.json中添加,我的视图显示正确.

"buildOptions": {
    "preserveCompilationContext": true,"emitEntryPoint": true
},

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读