Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法加载文件或汇编';Microsoft.Extensions.DependencyInjection.Abstractations';_C#_.net_Entity Framework - Fatal编程技术网

C# 无法加载文件或汇编';Microsoft.Extensions.DependencyInjection.Abstractations';

C# 无法加载文件或汇编';Microsoft.Extensions.DependencyInjection.Abstractations';,c#,.net,entity-framework,C#,.net,Entity Framework,我有一个旧程序,它使用Entity Framework Core 2.2.6访问MS-SQL数据库。现在我想给这个程序添加一些测试,我更喜欢使用EFCore的InMemory包 我有一个非常简单的获取数据的方法,它在实际的程序中工作,但是当我尝试使用InMemory数据库调用它时,我得到以下错误: System.IO.FileLoadException:无法加载文件或程序集“Microsoft.Extensions.DependencyInjection.Abstractions,Version

我有一个旧程序,它使用Entity Framework Core 2.2.6访问MS-SQL数据库。现在我想给这个程序添加一些测试,我更喜欢使用EFCore的InMemory包

我有一个非常简单的获取数据的方法,它在实际的程序中工作,但是当我尝试使用InMemory数据库调用它时,我得到以下错误:

System.IO.FileLoadException:无法加载文件或程序集“Microsoft.Extensions.DependencyInjection.Abstractions,Version=3.1.0.0,Culture=neutral,PublicKeyToken=adb9793829ddae60”或其依赖项之一。定位的程序集清单定义与程序集引用不匹配。(来自HRESULT的异常:0x8013100) ---->System.IO.FileLoadException:无法加载文件或程序集“Microsoft.Extensions.DependencyInjection.Abstractions,Version=2.2.0.0,Culture=neutral,PublicKeyToken=adb9793829ddae60”或其依赖项之一。定位的程序集清单定义与程序集引用不匹配。(来自HRESULT的异常:0x8013100)


现在它似乎期望Microsoft.Extensions.DependencyInjection.Abstractations
3.1.0版。然而,我从未要求它安装它。事实上,我正在尝试保留所有EFCore版本您需要将
app.config
块更改为:

<dependentAssembly>
  <assemblyIdentity name="Microsoft.Extensions.DependencyInjection.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral"/>
  <bindingRedirect oldVersion="0.0.0.0-2.2.0.0" newVersion="2.2.0.0"/>
</dependentAssembly> 

尽管我建议删除此块,但请删除该包并重新添加它


Microsoft.Extensions.DependencyInjection.Abstractions
3.1.0
目标
netstandard2.0
,因此您可能能够使用它,在这种情况下,您可以保持
app.config
文件的原样,并在
packages.config
文件中显式升级
Microsoft.Extensions.DependencyInjection.Abstractions

我宁愿使用EFCore 3.x.x。即使他们声称他们修复了对.NET标准的支持,但在与.NET Framework一起使用时,我还是遇到了麻烦。您的建议已删除到第一个错误,但它会继续链接类似的错误。
<package id="Microsoft.Extensions.DependencyInjection" version="2.2.0" targetFramework="net47" />
<dependentAssembly>
  <assemblyIdentity name="Microsoft.Extensions.DependencyInjection.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral"/>
  <bindingRedirect oldVersion="0.0.0.0-2.2.0.0" newVersion="2.2.0.0"/>
</dependentAssembly>