MVC 6 中是否缺少控制器脚手架?
Is controller scaffolding missing in MVC 6?
在 MVC 6 中创建控制器时,我没有看到用于创建控制器方法的脚手架?它们会丢失还是在生产版本中?
如果您指的是使用 ASP.NET 5 和 MVC 6 的控制器和视图的 CRUD 脚手架,它已从 Visual Studio GUI 中分离出来并移至命令行。
您需要一个名为 CodeGenerators
的包,将其添加到您的 project.json 配置文件中:
"dependencies": {
...
"Microsoft.Framework.CodeGenerators.Mvc": "1.0.0-beta4",
...
},
目前 VS 不提供 GUI 命令来执行脚手架,但你可以看看这个 link :
MVC 6 中脚手架控制器的命令行语法是:
dnx。 gen 控制器-name NameOfController --dataContext DBContextName --model NameOfModel
至少截至最新的 Visual Studio 2015 更新 1,ASP.net 5 RC (update1) 脚手架已集成到 Visual Studio。
为此,请在您的 project.json 文件中包含以下内容:
"dependencies": {
...
"Microsoft.Extensions.CodeGenerators.Mvc": "1.0.0-*",
...
然后右击Controllers目录->添加->新建脚手架项就可以找到了
名称空间在 Core 1.0 中发生了变化
"Microsoft.VisualStudio.Web.CodeGenerators.Mvc": "1.0.0-preview1-final",
"Microsoft.VisualStudio.Web.CodeGeneration.Tools": "1.0.0-preview1-final"
信息来自:
https://wildermuth.com/2016/05/17/Converting-an-ASP-NET-Core-RC1-Project-to-RC2
执行以下操作应该可以解决您的问题。
- 打开 VS2015=>工具=>自定义。
- Select 命令。
- Select 上下文菜单。
- Select 项目和解决方案上下文菜单|文件夹|添加。
- 检查 'Controller' 是否出现。
- 将控制器项目上移到顶部。
- 重启Visual Studio.
在升级到 1.1 后,很难在 VS2015 中使用它,但是如果您连接到 SQL 来构建您的实体,那么 project.json 中的以下依赖项和工具应该可以工作.
{
"dependencies": {
"Microsoft.EntityFrameworkCore": "1.1.0",
"Microsoft.EntityFrameworkCore.Design": "1.1.0",
"Microsoft.EntityFrameworkCore.SqlServer": "1.1.0",
"Microsoft.EntityFrameworkCore.SqlServer.Design": "1.1.0",
"Microsoft.EntityFrameworkCore.Tools": "1.1.0-preview4-final",
"Microsoft.VisualStudio.Web.CodeGeneration": "1.1.0-preview4-final",
"Microsoft.VisualStudio.Web.CodeGeneration.Tools": "1.1.0-preview4-final",
"Microsoft.VisualStudio.Web.CodeGeneration.EntityFrameworkCore": "1.1.0-preview4-final",
"Microsoft.VisualStudio.Web.CodeGenerators.Mvc": "1.1.0-preview4-final"
},
"tools": {
"Microsoft.EntityFrameworkCore.Tools": "1.1.0-preview4-final",
"Microsoft.EntityFrameworkCore.Tools.DotNet": "1.1.0-preview4-final",
"Microsoft.VisualStudio.Web.CodeGeneration.Tools": "1.1.0-preview4-final"}
}
在 MVC 6 中创建控制器时,我没有看到用于创建控制器方法的脚手架?它们会丢失还是在生产版本中?
如果您指的是使用 ASP.NET 5 和 MVC 6 的控制器和视图的 CRUD 脚手架,它已从 Visual Studio GUI 中分离出来并移至命令行。
您需要一个名为 CodeGenerators
的包,将其添加到您的 project.json 配置文件中:
"dependencies": {
...
"Microsoft.Framework.CodeGenerators.Mvc": "1.0.0-beta4",
...
},
目前 VS 不提供 GUI 命令来执行脚手架,但你可以看看这个 link :
MVC 6 中脚手架控制器的命令行语法是:
dnx。 gen 控制器-name NameOfController --dataContext DBContextName --model NameOfModel
至少截至最新的 Visual Studio 2015 更新 1,ASP.net 5 RC (update1) 脚手架已集成到 Visual Studio。
为此,请在您的 project.json 文件中包含以下内容:
"dependencies": {
...
"Microsoft.Extensions.CodeGenerators.Mvc": "1.0.0-*",
...
然后右击Controllers目录->添加->新建脚手架项就可以找到了
名称空间在 Core 1.0 中发生了变化
"Microsoft.VisualStudio.Web.CodeGenerators.Mvc": "1.0.0-preview1-final",
"Microsoft.VisualStudio.Web.CodeGeneration.Tools": "1.0.0-preview1-final"
信息来自:
https://wildermuth.com/2016/05/17/Converting-an-ASP-NET-Core-RC1-Project-to-RC2
执行以下操作应该可以解决您的问题。
- 打开 VS2015=>工具=>自定义。
- Select 命令。
- Select 上下文菜单。
- Select 项目和解决方案上下文菜单|文件夹|添加。
- 检查 'Controller' 是否出现。
- 将控制器项目上移到顶部。
- 重启Visual Studio.
在升级到 1.1 后,很难在 VS2015 中使用它,但是如果您连接到 SQL 来构建您的实体,那么 project.json 中的以下依赖项和工具应该可以工作.
{
"dependencies": {
"Microsoft.EntityFrameworkCore": "1.1.0",
"Microsoft.EntityFrameworkCore.Design": "1.1.0",
"Microsoft.EntityFrameworkCore.SqlServer": "1.1.0",
"Microsoft.EntityFrameworkCore.SqlServer.Design": "1.1.0",
"Microsoft.EntityFrameworkCore.Tools": "1.1.0-preview4-final",
"Microsoft.VisualStudio.Web.CodeGeneration": "1.1.0-preview4-final",
"Microsoft.VisualStudio.Web.CodeGeneration.Tools": "1.1.0-preview4-final",
"Microsoft.VisualStudio.Web.CodeGeneration.EntityFrameworkCore": "1.1.0-preview4-final",
"Microsoft.VisualStudio.Web.CodeGenerators.Mvc": "1.1.0-preview4-final"
},
"tools": {
"Microsoft.EntityFrameworkCore.Tools": "1.1.0-preview4-final",
"Microsoft.EntityFrameworkCore.Tools.DotNet": "1.1.0-preview4-final",
"Microsoft.VisualStudio.Web.CodeGeneration.Tools": "1.1.0-preview4-final"}
}