VS2017:为什么剃刀项目仍然是指MVC?

时间:2017-10-22 07:29:02

标签: c# asp.net-mvc razor

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

  • 新项目
  • Web ASP.NET核心应用程序(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.";
        }
    }
}

如果我选择了一个剃刀专用项目,为什么它仍然引用MVC?

我的问题来自更深层次的问题:我不明白我必须遵循哪些文档!当我看到关于剃刀或MVC的教程时,我不确定它是否适用于这种类型的项目。

1 个答案:

答案 0 :(得分:1)

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

这只是一个猜测,但我相信它可能只是一个历史性的事情。 Razor曾经只是MVC的一部分,所以它在MVC命名空间下,但现在它不需要MVC来实现它们为了兼容性或一致性而留在这里吗?这个问题可能只能由微软的某个人回答: - /