无法加载文件或程序集 Microsoft.Data.SqlClient,版本=5.0.0.0

Ily*_*hyk 6 c# sqlclient nuget-package azure-web-app-service .net-6.0

将应用程序部署到azure应用程序服务后面临以下问题:

未处理的异常。System.IO.FileNotFoundException:无法加载文件或程序集“Microsoft.Data.SqlClient,版本= 5.0.0.0,文化=中性,PublicKeyToken = *********”。该系统找不到指定的文件。

在本地一切正常。 Microsoft.Data.SqlClient出现在site/wwwroot中

站点/wwwroot

运行时堆栈:Dotnetcore - 6.0 主应用程序和 .net6 上的所有类库 服务器操作系统:Linux

Microsoft.Data.SqlClient 作为 Microsoft.EntityFrameworkCore.SqlServer (v.7.0.2) 的参考提供

尝试了不同类型的 Nuget Packages 版本 - 仍然有相同的问题尝试将 Microsoft.Data.SqlClient (最新版本和 5.0.0.0)直接安装到项目中 - 仍然相同

udo*_*dog -1

我们的解决方案是:

  1. 在开发人员的桌面文件系统上找到实际的 DLL 文件 (Microsoft.Data.SqlClient.dll)(很容易找到;一旦使用 NuGet 引用它,它就会被复制到多个位置)
  2. 将其添加到网络项目中(我们将其放在根目录中)
  3. 将其标记(通过“属性”工具窗口)为“始终复制”

第 3 步的 .csproj 文件结果如下所示:

<ItemGroup>
   <None Update="Microsoft.Data.SqlClient.dll">        
     <CopyToOutputDirectory>Always</CopyToOutputDirectory>
   </None>
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)