为什么 Razor Pages 项目仍然引用/依赖 MVC?

问题描述 投票:0回答:1

我对 ASP.NET Core 2.0 的 MVC 和 Razor Pages 项目非常困惑。 在 Visual Studio 2017 中,我执行以下操作:

  • 新项目
  • Web ASP.NET Core 应用程序(C#)
  • Web 应用程序(不是 Web 应用程序 MVC)

但是当我打开页面的 .cs 代码时,我看到:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc.RazorPages;  // <------- MVC?

namespace WebApplication2.Pages
{
    public class AboutModel : PageModel
    {
        public string Message { get; set; }

        public void OnGet()
        {
            Message = "Your application description page.";
        }
    }
}

如果我选择了 Razor Pages 项目,为什么它仍然引用 MVC?

我的问题源于一个更深层次的问题:我不明白我必须遵循什么文档!当我看到有关 razor 或 MVC 的教程时,我不确定它是否适用于此类项目。

c# asp.net-core razor-pages
1个回答
2
投票

这仅仅是因为

Microsoft.AspNetCore.Mvc
命名空间是 Microsoft 团队决定放置 Razor 的地方。这并不意味着您的项目使用 MVC,只是它使用的某些类位于名称中包含
MVC
的命名空间中。

这只是一个猜测,但我相信这可能只是一个历史性的事情。 Razor 曾经确实只是 MVC 的一部分,因此它位于 MVC 命名空间下,但现在它不需要 MVC 来生存,他们将其留在这里是为了兼容性或一致性吗?

© www.soinside.com 2019 - 2024. All rights reserved.