Visual studio ASP.NET核心脚手架在VS 2017中不起作用

Visual studio ASP.NET核心脚手架在VS 2017中不起作用,visual-studio,visual-studio-2017,asp.net-mvc-scaffolding,asp.net-core-1.1,Visual Studio,Visual Studio 2017,Asp.net Mvc Scaffolding,Asp.net Core 1.1,我在Visual Studio 2017中有一个初级ASP.NET核心项目,我正处于HelloWorld的搭建阶段。脚手架不工作,我在第一台电脑上测试,然后在第二台电脑上测试 当我尝试生成带有视图的控制器时 ,它在第一台机器上给出以下错误: Microsoft Visual Studio 错误 运行所选代码生成器时出错: '未处理的异常:System.IO.FileNotFoundException:无法加载文件或程序集'Microsoft.VisualStudio.Web.CodeGener

我在Visual Studio 2017中有一个初级ASP.NET核心项目,我正处于HelloWorld的搭建阶段。脚手架不工作,我在第一台电脑上测试,然后在第二台电脑上测试

当我尝试生成带有视图的控制器时 ,它在第一台机器上给出以下错误:

Microsoft Visual Studio


错误

运行所选代码生成器时出错:

'未处理的异常:System.IO.FileNotFoundException:无法加载文件或程序集'Microsoft.VisualStudio.Web.CodeGeneration.Utils,版本=1.1.1.0,区域性=中性,PublicKeyToken=adb9793829ddae60'。系统找不到指定的文件。 位于Microsoft.VisualStudio.Web.CodeGeneration.Design.Program.Main(字符串[]args)'


在第二台机器上:

Microsoft Visual Studio


错误

运行所选代码生成器时出错:

'错误:未找到依赖项清单中指定的程序集--包:'microsoft.applicationinsights.aspnetcore',版本:'2.1.0',路径:'lib/netstandard1.6/microsoft.applicationinsights.aspnetcore.dll''



使用控制台中的命令清除本地NuGet缓存:

dotnet nuget locals all--clear

恢复所有包

安装(或更新)NuGet软件包Microsoft.CodeAnalysis.CSharp.Workspacesversion
2.0.0
(或更高版本)编辑:版本2.3.0和2.3.1会导致一些问题。因此,在MS解决这个问题之前,最多只能使用2.2.0(
https://github.com/dotnet/roslyn/issues/20873

再次恢复所有包并尝试脚手架

这对我很管用

确保在项目中正确引用了这些包:


我的项目使用了
Asp.Net Core 1.1.2
VS2017社区

以下内容

我删除了
bin
obj
文件夹,重新构建项目,它就可以工作了

万一它给您错误:它在
debug
文件夹中找不到
project.deps.json


将项目设置为调试,运行它,现在可以添加脚手架项目。

我也有同样的情况。在.net核心版本2.2和VS 2017 Enterprise上

我的下一个指导是:

  • 使用管理员权限打开VS
  • VS的加载解决方案
  • 从脚手架菜单添加控制器。VS将安装“Microsoft.VisualStudio.Web.CodeGeneration.Design”和“Microsoft.VisualStudio.Web.CodeGeneration.Tools”软件包
  • 接近VS
  • 打开VS并加载项目。通过scaffloading添加控制器工作正常
也许这个指令对某人有帮助,
谢谢。

您应该将Microsoft.VisualStudio.Web.CodeGeneration.Design的版本更改为与Microsoft.AspNetCore.App的版本完全相同的版本

我试图在安装了3.0.0版asp.net core的情况下运行下面的命令,因此我收到了相同的错误 命令:dotnet aspnet codegenerator controller-name MoviesController-m Movie-dc MvcMovieContext--relativeFolderPath Controllers--useDefaultLayout--referenceScriptLibraries

错误: 搭建脚手架失败了。 无法加载文件或程序集“Microsoft.VisualStudio.Web.CodeGeneration,版本=3.0.0.0,区域性=中性,PublicKeyToken=adb9793829ddae60”。系统找不到指定的文件

  • 解决方案:
dotnet nuget本地人全部清除

dotnet删除包Microsoft.VisualStudio.Web.CodeGeneration.Utils

更改版本2.2.0的PackageReferer

再次运行该命令。
dotnet aspnet codegenerator控制器-名称MoviesController-m Movie-dc MvcMovieContext--相对文件夹路径控制器--使用DefaultLayout--参考脚本库

,以方便搜索者:

我是在2019年买的。原因是我的密码被破解了

我不知道为什么要开始,但当你意识到代码生成是一个nuget包;如果项目未生成,则VisualStudio无法访问该包

编译代码后,这个错误就消失了。

解决方案:

  • 转到VS2019-->依赖项-->程序包
  • 单击ManageNuGet
  • 在搜索中键入“Microsoft.VisualStudio.Web.CodeGeneration.Utils” 或缺少的Dll
  • 单击安装
  • 重建解决方案
  • 然后添加脚手架项目。 它是有效的…-)

  • 我通过使用nuget package manager卸载所有entity framework包并再次使用相同版本重新安装来修复此问题

    • Microsoft.EntityFrameworkCore
    • Microsoft.EntityFrameworkCore.Design
    • Microsoft.EntityFrameworkCore.SqlServer

    (3.10版)

    进入解决方案资源管理器->清洁解决方案,然后构建解决方案


    这对我很有效。

    我收到了不同的错误消息。实际上没有什么特别的,没有提到依赖项或程序集。我尝试了上述所有建议,但都没有成功。然后我尝试让它创建一个新的DbContext,而不是指定一个现有的DbContext。这解决了我的问题

  • 在菜单-->编译-->清洁解决方案上
  • 在菜单-->编译-->生成解决方案上
  • 然后使用脚手架重复取消创建积垢。
    这对我很有用。谢谢

    我所做的是修复VS-2017安装(企业版)。。。现在脚手架工作了。我尝试过修复,但没有改变任何事情。微软.VisualStudio.Web.CodeGeneration.Design的预览位显然是与VS 2019 Preview 3一起安装的。将此包降级到
    2.2.3
    为我解决了问题。@CalvinDale谢谢。降级Microsoft.VisualStudio.Web.CodeGeneration.Design软件包也为我解决了这个问题。@CalvinDale请将此作为答案发布,因为