我们使用.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,该版本存在于发布中。你知道什么时候错了吗?
谢谢你,三木
3条答案
按热度按时间ecfdbz9o1#
谢谢你的努力。
我找到问题所在了。
我的dotnet publish命令需要
--self-contained --runtime win-x64
,因此它包含运行时,而运行时不需要安装在目标机器上。谢谢,三木
ovfsdjhp2#
你可以使用类似这样的东西:
dotnet publish -c Release -r win-x64 --self-contained --冗长d
z3yyvxxp3#
我也犯了同样的错误。我通过在我的解决方案中添加Nugget PackegeReference解决了这个问题。