【发布时间】:2025-12-25 19:50:10
【问题描述】:
我们使用 .NET Core 6 和 EF Core 6 创建了一个 Web API。在开发环境中一切正常,但是当我这样做时,发布应用程序失败并出现错误
System.IO.FileNotFoundException:无法加载文件或程序集 'Microsoft.Data.SqlClient, Version=2.0.20168.4, Culture=neutral, PublicKeyToken=23ec7fc2d6eaa4a5'
深入了解它引用 EF Core 操作的堆栈跟踪。
EF Core 依赖于 Microsoft.Data.SqlClient 版本 2.1.4,并且该版本存在于发布中。知道什么时候出错了吗?
非常感谢,三木
【问题讨论】:
-
我最近在某个地方看到过这个问题。Github 可能。注意不要将产品版本与文件版本混为一谈。那 2.1.4 和 2.0.20168.4 不相关
-
该版本存在于发布中 - 它实际上已发布到服务器吗?你有任何有效的绑定重定向吗?
-
不,我没有主动绑定重定向。是的,已发布到服务器,但如果我在 IIS 上本地运行它,它就无法正常工作。
-
A 正在玩它,所以如果我使用 VS 应用程序作品发布。当我下载工件时,CI 服务器上的发布版本无法在测试服务器或我的机器上运行。我将检查这两个发布版本之间的区别。
-
在 VS 发布的版本中,有一个运行时文件夹,但 CI 发布的版本中不存在。
标签: c# .net entity-framework ef-core-6.0