.Net核心视图:当前上下文中不存在名称"布局"

wtf*_*512 9 asp.net-core-mvc asp.net-core visual-studio-2017

我正在使用Visual Studio 2017来构建.net核心mvc项目.

当我以这种方式添加视图时:右键单击文件夹 - >添加视图 - >添加 在此输入图像描述

在此输入图像描述

然后 the name "Layout" does not exist in the current context 在此输入图像描述

重新启动vs或构建项目此错误仍然存​​在.

但是,如果我以这种方式添加视图:

右键单击文件夹 - >添加新项 - > MVC查看页面 在此输入图像描述

布局可以被识别.

有什么区别吗?

Ali*_*ghi 1

如果您使用的是 vs 2017,则必须在您创建的新 csproj 中添加此代码。

<PropertyGroup>
    <OutputType>Library</OutputType>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)

因为当您创建新的 Web 应用程序时,它会设置为“Web”SDK:

<Project Sdk="Microsoft.NET.Sdk.Web">...</Project>
Run Code Online (Sandbox Code Playgroud)

因此,Web SDK 导入额外的任务以允许设计时处理 Web 资源,例如 Razor 视图。将插件库中的 SDK 更改为 Web。构建后错误应该消失。