当我使用 System.Data.SqlClient 版本 4.4.3 时,无法加载文件或程序集 System.Data



我将System.Data.SqlClient Version 4.4.3用于 ASP.NET Core 2.0项目中的所有.NET Standard 2.0类库。为什么我会得到

无法加载文件或程序集"System.Data.SqlClient, Version=4.2.0.2, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'。找到的程序集的清单定义与程序集引用不匹配。(HRESULT的例外:0x80131040(

何时使用 VSTS 将项目发布到 Azure 应用服务?当然,它在我的机器上完美运行!

所有这些都在昨天奏效。但是今天我决定将软件包更新为:

<PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.6" />
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.0.3" />

不知道这是否与我所面临的情况相同。我通过nuGet添加了System.Data.SqlClient,它工作正常。

降级

<PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.6" />

一切又恢复了!今天损失了4个小时!!

我今天遇到了类似的问题,我将包括 All 元包在内的许多包更新为 2.0.6。然后,我的应用程序将无法引用上面的错误。经过大量调查,我做了以下工作,现在似乎正在工作。

使用 FTP 连接到 Azure 网站,导航到站点 -> wwwroot 文件夹。在这里,我有一个名为"refs"的文件夹和另一个称为"运行时"的文件夹。我删除了这两个文件夹(在本地备份后(,重新发布了我的应用程序,它起作用了!

不知道为什么它有效,但我认为这可能是有用的,因为有人偶然发现了类似的问题。

我遇到了同样的问题,序列化异常与消息:

Unable to find assembly 'Microsoft.Data.SqlClient,  
March 3rd 2020 16:36:46Error
Version=1.0.19269.1, Culture=neutral, PublicKeyToken=23ec7fc2d6eaa4a5'

但是DLL一切正常,问题是由无效的连接字符串引起的,我花了将近几个小时才弄清楚发生了什么!

当某些依赖程序集使用同一库的旧版本时,会发生这种情况。要解决这个问题,您可以使用程序集重定向,强制旧库使用较新版本。

把它放在你的app.config或web.config中,以防 asp.net

<dependentAssembly>  
    <assemblyIdentity name="System.Data.SqlClient"  publicKeyToken="b03f5f7f11d50a3a"  culture="neutral" />  
    <bindingRedirect oldVersion="4.2.0.2" newVersion="4.4.3.0" />  
</dependentAssembly>  
<</div> div class="one_answers">

对我来说,解决方案是删除System.Data.SqlClient软件包并重新安装它。 对软件包进行升级是不够的。

相关内容

  • 没有找到相关文章

最新更新