Visual studio ASP.NET核心脚手架在VS 2017中不起作用
我在Visual Studio 2017中有一个初级ASP.NET核心项目,我正处于HelloWorld的搭建阶段。脚手架不工作,我在第一台电脑上测试,然后在第二台电脑上测试 当我尝试生成带有视图的控制器时 ,它在第一台机器上给出以下错误: Microsoft Visual StudioVisual 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
错误 运行所选代码生成器时出错: '未处理的异常: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.Workspacesversion2.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 aspnet codegenerator控制器-名称MoviesController-m Movie-dc MvcMovieContext--相对文件夹路径控制器--使用DefaultLayout--参考脚本库,以方便搜索者: 我是在2019年买的。原因是我的密码被破解了 我不知道为什么要开始,但当你意识到代码生成是一个nuget包;如果项目未生成,则VisualStudio无法访问该包 编译代码后,这个错误就消失了。解决方案:
我通过使用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请将此作为答案发布,因为