vs2019运行所选代码生成器时出错 程序包还原失败
电脑版发表于:2019/12/20 16:52
在使用MVC配合EF的代码自动生成的时候报错:运行所选代码生成器时出错 程序包还原失败,正在回滚。
这里是因为分层使用的问题,Model,下上下对象,MVC都是分层使用的,出现了一个错误。如果不分层直接使用是没有问题的。
这里的原因猜测是nuget包自动下载失败。既然自动下载失败那就手机下载试试,尝试了下果然可以解决这个问题。
手动添加依赖:
<ItemGroup> <PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="3.1.21" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="3.1.21"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="3.1.21" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="3.1.21"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="3.1.5" /> </ItemGroup>
其实主要是Microsoft.VisualStudio.Web.CodeGeneration.Design这个库,还有就是对应.net core版本的EF与CodeGeneration.Design版本问题。
比如这里.net core版本使用的是3.1对应的EF是3.1.21,CodeGeneration.Design版本是3.1.5
如果不知道版本对应的情况下,可以先在不分层的时候去使用,成功后会自动添加依赖,然后把这些依赖复制到分层的项目中去即可。