【问题标题】:Create an ASP.NET Core 3 MVC from empty project从空项目创建 ASP.NET Core 3 MVC
【发布时间】:2020-07-28 22:28:45
【问题描述】:

我正在从头开始一个项目以深入了解核心功能,但我无法从空模板创建 MVC 应用程序。即使在默认路由上,我得到的只是 404。

首先,我使用的是最新的 vs 代码,并在 cli 上创建了空项目:

dotnet new web

创建项目后,我更改了 Startup.cs 以配置我的路线。 我正在阅读this 文章以查看对 3.0 版本所做的更改。

    public void ConfigureServices(IServiceCollection services)
    {
        services.AddControllersWithViews();
    }
...
    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
...
       app.UseRouting();
       app.UseEndpoints(endpoints =>
       {
            endpoints.MapControllerRoute(
                name: "default",
                pattern: "{controller=Home}/{action=Index}/{id?}");
        });
    }

我创建了所有 MVC 文件夹、一个 HomeController 以及返回 View() 的 Index 操作,以及我的 Index.cshtml

在调试时,我在我的控制器上设置了一个断点,但执行从未到达它。也许我错过了一些关于路线的东西。

我还有什么遗漏的吗?

编辑:这是我要求的 program.cs

    public static void Main(string[] args)
    {
        CreateHostBuilder(args).Build().Run();
    }

    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder.UseStartup<Startup>();
            });

【问题讨论】:

  • 你能发布你的 Program.cs 吗?
  • 只需使用默认模板创建另一个项目,然后将整个结构与您创建的空项目进行比较或创建。
  • @Nikki9696 我将编辑我的问题。
  • @Imran 我创建了另一个项目来指导我,同时在我的空项目上创建结构,目前我找不到我缺少的东西。
  • 据我所知,学习不需要创建空项目。只需创建默认解决方案,从那里了解重要文件并开始开发。

标签: c# asp.net-core asp.net-mvc-3


【解决方案1】:

确保你有这个树字典

│   app.csproj
│   appsettings.Development.json
│   appsettings.json
│   Program.cs
│   Startup.cs
│
│
├───bin
│   └───Debug
│
├───Controllers
│       HomeController.cs
│
├───obj
│   │
│   └───Debug
│       
│
└───Views
    └───Home
            Index.cshtml

【讨论】:

  • 除了 Views 和 Controllers,这个结构是默认创建的。
  • @D.Fernandes,能否提供项目中的视图和控制器结构供我们参考?请确保Index.cshtml 视图在/Views/Home/ 文件夹中,并确保HomeController 包含Index actionreturn View()
  • @YongqingYu 我的结构和你的一样,我还创建了一个mvc项目来比较结构。我尝试更改 Index 方法以返回 http 状态代码 200 但也不成功。
  • @D.Fernandes,你能把你运行项目时的日志提供给我们吗?
  • @YongqingYu 当然,我运行项目时将详细级别设置为诊断。这是输出:pastebin.com/raw/HXYQ7GMh
猜你喜欢
  • 1970-01-01
  • 2019-01-24
  • 1970-01-01
  • 2018-05-09
  • 2021-08-11
  • 1970-01-01
  • 1970-01-01
  • 2016-09-27
  • 1970-01-01
相关资源
最近更新 更多