C# 脚手架项目的包还原失败问题

C# 脚手架项目的包还原失败问题,c#,asp.net-mvc,crud,nuget-package,asp.net-mvc-scaffolding,C#,Asp.net Mvc,Crud,Nuget Package,Asp.net Mvc Scaffolding,我在创建带有脚手架项目的控制器时遇到问题。 我正在使用Visual Studio 2019-ASP.NET核心Web应用程序(使用MVC)-ASP.NET核心3.1 我执行了以下步骤: 我是从Nuget软件包管理器安装的: Microsoft.EntityFrameworkCore(3.1.3) Microsoft.EntityFrameworkCore.SQLServer(3.1.3) Microsoft.EntityFrameworkCore.Tools(3.1.3) 我做了一个示范班

我在创建带有脚手架项目的控制器时遇到问题。 我正在使用Visual Studio 2019-ASP.NET核心Web应用程序(使用MVC)-ASP.NET核心3.1

我执行了以下步骤:

  • 我是从Nuget软件包管理器安装的:
    • Microsoft.EntityFrameworkCore(3.1.3)
    • Microsoft.EntityFrameworkCore.SQLServer(3.1.3)
    • Microsoft.EntityFrameworkCore.Tools(3.1.3)
  • 我做了一个示范班
  • 我制作了一个DB上下文类
  • 我在Startup类的ConfigureServices方法中添加了与DB上下文和字符串连接的连接
  • 在appsettings.json中,我添加了到SQLSERVER的字符串连接
  • 右键单击控制器文件夹,添加>控制器。然后选择“MVC Controller with views,using Entity Framework”,选择模型和数据库上下文,但在创建控制器和视图时,VS向我显示错误“包还原失败。回滚“项目名称”的包更改”

  • 我阅读了与此相关的其他问题,我从Nuget软件包中删除缓存,重建项目,更改软件包的版本,等等,但问题仍然存在。

    我在VS2019.NET Core 3.1中使用实体框架为控制器搭建视图时遇到了类似的问题

    添加以下软件包可以解决您的问题:

    • Microsoft.EntityFrameworkCore.Design
    • Microsoft.VisualStudio.Web.CodeGeneration.Design
    您可以通过以下方式进行:

    .NET核心CLI

    dotnet add package Microsoft.VisualStudio.Web.CodeGeneration.Design
    dotnet add package Microsoft.EntityFrameworkCore.Design
    
    NuGet软件包管理器


    找到上面带有合适版本的包,并将其添加到您的项目中。

    如果有人在VS 2019中看到Angular SPA模板,则只想添加。我尝试了所有的技巧(手动安装/更新软件包、手动清除缓存、重新启动VS、重新启动计算机…),但都没有成功

    最终起作用的是,在脚手架失败后,我随机决定查看csproj,并注意到代码生成器(最新版本,在编写3.1.5时)在我手动更新到最新版本(在编写3.1.14时)后,将EFCore.SqlServer的版本设置回3.1.13

    基本上,代码gen的最新版本仍然引用 旧版本的包,所以脚手架从来没有工作


    (包的自动升级和自动降级失败)

    感谢Yonatan的快速回复。不幸的是,这个问题仍在发生。此外,我已经将软件包的版本更新为3.1.8,但这不是一个解决办法。也许我必须卸载VS并重新安装。。。或者更改VSI的版本无法找到发生在您身上的问题的其他原因。如果我能找到解决方案,我会更新我的答案。如果您可以添加您的类的照片,这将有所帮助:DbContext、Models、startup和projectYonatan我已经解决了这个问题。我再次下载了最新版本的软件包,并在StartUp类中添加了更多的using,一切都很好。:)@这也起到了作用;)在将来更新某些依赖项时,请确保所有其他依赖项都是兼容的。