【发布时间】:2020-01-25 17:31:35
【问题描述】:
两天前我在做一个项目时遇到了一个问题。
当我尝试通过将鼠标悬停在View() 方法上然后单击“添加视图”来创建新的控制器或视图时,VS 不会生成任何错误消息,但以下行:
Finding the generator 'controller'...
Running the generator 'controller'...
Attempting to compile the application in memory.
at Microsoft.VisualStudio.Web.CodeGeneration.ActionInvoker.<BuildCommandLine>b__6_0()
at Microsoft.Extensions.CommandLineUtils.CommandLineApplication.Execute(String[] args)
at Microsoft.VisualStudio.Web.CodeGeneration.ActionInvoker.Execute(String[] args)
at Microsoft.VisualStudio.Web.CodeGeneration.CodeGenCommand.Execute(String[] args)
我尝试将 VS 更新到最新版本,现在是 16.4.3 社区版,但没有成功。
尝试从 NuGet 重新安装 Microsoft.VisualStudio.Web.CodeGeneration,但再次失败。
尝试删除 .vs 文件夹,但再次失败。
可能是什么问题?在此之前它工作正常,但脚手架停止工作。
谢谢
【问题讨论】:
-
首先,您需要验证您的问题是特定于 Visual Studio 还是您机器上的问题。例如,下载 Rider 并使用该工具进行尝试。 jetbrains.com/rider/download/#section=windows 。很可能是这样,但您需要确定。您也可以改用 Visual Studio 代码; code.visualstudio.com/docs/languages/dotnet 。如果是 VS 特定的,您可以在安装程序中使用 VS Repair 修复 VS。 docs.microsoft.com/en-us/visualstudio/install/… 。祝你好运。
-
@Daan 谢谢,但是这些选项中的任何一个都可以选择使用 EF 创建控制器?像 Add => Controller => Controller 使用 EF 来自动生成带有动作和视图的控制器?因为我可以轻松添加空控制器和空视图,但我的问题是使用 EF 添加新控制器
-
不幸的是,修复VS并没有解决问题。
-
是的,您也可以在 Rider 中生成控制器:stackoverflow.com/a/57000703/1987258。此外,VS Code 有一个扩展来帮助你。 marketplace.visualstudio.com/…
-
我可以生成一个控制器,但不幸的是,这两种选择都没有 EF。 Rider 生成一个空控制器。我的问题是使用 EF 生成它们以生成带有操作名称和视图的控制器,我稍后可以修改它们。但是现在,我有很多模型需要为其生成代码。而且没有时间编写所有控制器并从头开始查看它。这里还有其他选择吗?
标签: asp.net-mvc asp.net-core visual-studio-2019 scaffolding