相关疑难解决方法(0)

无法加载文件或程序集'System.Data.SqlClient,版本= 4.4.0.0

首先,一些上下文信息:

运行该平台的平台已安装.Net Framework 4.7.1。我有一个.Net Standard 2规范中的类库,以便将来支持.Net Core。现在,部分依赖项(即Dapper)使用System.Data.SqlClient。该库在我自己的计算机上可以正常工作,但是在Windows 2012服务器上部署和测试该库时会遇到问题。即,使用Dapper时出现运行时错误:Could not load file or assembly 'System.Data.SqlClient, Version=4.4.0.0, Culture=neutral, PublicKeyToken=kfddsnfsjnfs' or one of its dependencies. The system cannot find the file specified.

请注意,我首先安装了4.5.1.0版。然后,我降级到4.4.0.0并重新运行代码。现在我遇到了相同的错误,但是这次是关于4.2.0.0。但是我似乎在Nuget上找不到此特定版本。之后,我用谷歌搜索。很多。首先,我尝试通过添加两个

appsettings.json:

{
  "dependentAssembly": {
    "assemblyIdentity": {
      "name": "System.Data.SqlClient",
      "publicKeyToken": "kfddsnfsjnfs",
      "culture": "neutral"
    },
    "bindingRedirect": {
      "oldVersion ": "4.4.0.0",
      "newVersion": "4.5.1"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

和app.config:

<dependentAssembly>
  <assemblyIdentity name="System.Data.SqlClient"  publicKeyToken="kfddsnfsjnfs"  culture="neutral" />
  <bindingRedirect oldVersion="4.4.0.0" newVersion="4.5.1.0" />
</dependentAssembly>
Run Code Online (Sandbox Code Playgroud)

但是,这并没有什么不同。我还尝试了旧版本的SqlClient和多次重新安装。我还发现有人说要仔细检查csproj文件,以便它没有引用gac中的某些内容,但它没有:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
    <Authors>me</Authors>
    <Product />
    <Company />
    <GeneratePackageOnBuild>false</GeneratePackageOnBuild>
    <Version>1.0.8</Version>
  </PropertyGroup>

  <ItemGroup> …
Run Code Online (Sandbox Code Playgroud)

c#

3
推荐指数
4
解决办法
5613
查看次数

标签 统计

c# ×1