在Visual Studio 2019中创建ASP.NET Core MVC控制器遇deps.json缺失错误
嘿,我之前在VS2019里开发ASP.NET Core MVC的时候也碰到过一模一样的坑,给你几个亲测有效的解决步骤,应该能帮你搞定:
先清理重建解决方案
这是最基础但往往奇效的一步。右键你的解决方案,先选清理解决方案,等清理完成后再选生成解决方案。很多时候是编译缓存搞的鬼,清理后重新生成会自动补全包括deps.json在内的所有依赖文件。检查SDK版本是否匹配
右键项目→属性→应用程序,看看目标框架是哪个版本(比如netcoreapp3.1或者net5.0),然后打开VS安装器,确认对应的.NET Core SDK已经安装。版本不兼容的话,依赖文件经常会生成失败。手动用命令生成deps.json
打开VS顶部的工具→命令行→开发者命令提示符,cd到你的项目根目录(就是存放.csproj文件的文件夹),然后运行:dotnet publish --configuration Debug执行完这个命令后,去
bin/Debug/netX.X/publish目录下看看,deps.json应该就生成了,之后再回到VS里尝试创建控制器。检查.csproj文件的配置
有时候项目文件被误改会导致依赖配置出问题。你可以新建一个干净的ASP.NET Core MVC项目,对比它的.csproj内容,看看你的项目里有没有缺失关键节点,比如<TargetFramework>、<PreserveCompilationContext>这些,确保配置都正确。重置VS的缓存文件
VS自身的缓存抽风也会引发这类奇怪的错误。先关掉VS,然后删除这两个目录的内容:%LOCALAPPDATA%\Microsoft\VisualStudio\16.0_*\ComponentModelCache(把*换成你VS对应的版本号)%USERPROFILE%\.nuget\packages(可以先备份一下,删完后重启VS,右键项目选还原NuGet包)
试试新建测试项目
如果上面的方法都不管用,建议新建一个空白的ASP.NET Core MVC项目,试试在里面创建控制器。如果新项目没问题,那基本就是你当前项目的文件或者配置损坏了,只能慢慢把代码迁移到新项目里了。
内容的提问来源于stack exchange,提问作者Akshay Patil




