.NET Core 6/EF Core 6. referred Microsoft.Data.SqlClient,Version=2.0.20168.4

nimxete2  于 2023-06-25  发布在  .NET
关注(0)|答案(3)|浏览(156)

我们使用.NET Core 6和EF Core 6创建了一个Web API。在开发环境中,所有的工作都很好,但当我这样做时,发布应用程序失败并出现错误
System.IO.FileNotFoundException:未能加载文件或程序集“Microsoft.Data.SqlClient,Version=2.0.20168.4,Culture=neutral,PublicKeyToken= 23ec7fc2d6ea4a5”
在堆栈跟踪的更深处,它引用EF核心操作。
EF Core依赖于Microsoft.Data.SqlClient版本2.1.4,该版本存在于发布中。你知道什么时候错了吗?
谢谢你,三木

ecfdbz9o

ecfdbz9o1#

谢谢你的努力。
我找到问题所在了。
我的dotnet publish命令需要--self-contained --runtime win-x64,因此它包含运行时,而运行时不需要安装在目标机器上。
谢谢,三木

ovfsdjhp

ovfsdjhp2#

你可以使用类似这样的东西:
dotnet publish -c Release -r win-x64 --self-contained --冗长d

z3yyvxxp

z3yyvxxp3#

我也犯了同样的错误。我通过在我的解决方案中添加Nugget PackegeReference解决了这个问题。

<PackageReference Include="Microsoft.Data.SqlClient" Version="5.1.1" />

相关问题