前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【.net】使用EF的一点小问题

【.net】使用EF的一点小问题

原创
作者头像
东风压倒西风
发布2022-12-07 19:48:12
5200
发布2022-12-07 19:48:12
举报
文章被收录于专栏:卓谷山

最近有.net的项目。用到了Entity Framework,先简单地学习一下的时候,遇到了点问题。

版本不匹配,详见下图

工具->NuGet包管理器->程序包管理器控制台 中执行如下命令的时候,均告失败。

代码语言:text
复制
Install-Package Microsoft.VisualStudio.Web.CodeGeneration.Design
Install-Package Microsoft.EntityFrameworkCore.Design
Install-Package Microsoft.EntityFrameworkCore.SqlServer

失败的截图如下:

image.png
image.png

原因:

从失败原因来看,是缺省安装的【Microsoft.VisualStudio.Web.CodeGeneration.Design】的版本为7.0.0,与项目的版本不一致,项目版本为net6.0

解决方法:

在如下link中,可以看到该包的所有版本。

https://www.nuget.org/stats/packages/Microsoft.VisualStudio.Web.CodeGeneration.Design?groupby=Version

image.png
image.png

选取6.0.10来安装。

代码语言:text
复制
Install-Package Microsoft.VisualStudio.Web.CodeGeneration.Design -Version 6.0.10

执行以后,在csproj文件中,将写入如下信息。

代码语言:html
复制
  <ItemGroup>
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="7.0" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="6.0.10">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>
    <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="6.0.10" />
  </ItemGroup>

问题解决了。


存疑事项

即便是安装了net7.0 的sdk和runtime,

代码语言:text
复制
dotnet --version

返回来的也是【7.0.100】

但是在vs2022中的项目的【target framework】中,没有.net7.0的选项。

image.png
image.png

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 版本不匹配,详见下图
    • 原因:
      • 解决方法:
        • 在如下link中,可以看到该包的所有版本。
        • 选取6.0.10来安装。
    • 问题解决了。
    • 存疑事项
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档