Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >无法加载文件或程序集'Microsoft.Extensions.DependencyInjection.Abstractions‘

无法加载文件或程序集'Microsoft.Extensions.DependencyInjection.Abstractions‘
EN

Stack Overflow用户
提问于 2019-12-17 02:18:37
回答 1查看 7.2K关注 0票数 1

我是一个旧的程序,它使用实体框架核心2.2.6访问一个MS数据库.现在,我想在这个程序中添加一些测试,我更愿意使用InMemory包对EFCore进行测试。

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

'Microsoft.Extensions.DependencyInjection.Abstractions,System.IO.FileLoadException :无法加载文件或程序集

Version=3.1.0.0、Culture=neutral、PublicKeyToken=adb9793829ddae60‘或其依赖项之一。所定位的程序集的清单定义与程序集引用不匹配。( HRESULT: 0x80131040除外)-> System.IO.FileLoadException :无法加载文件或程序集System.IO.FileLoadException Version=2.2.0.0、Culture=neutral、PublicKeyToken=adb9793829ddae60‘或其依赖项之一。所定位的程序集的清单定义与程序集引用不匹配。(HRESULT例外: 0x80131040)

现在,它似乎期望Microsoft.Extensions.DependencyInjection.Abstractions版本3.1.0。但是,我从来没有要求它安装它。实际上,我试图保留所有EFCore版本的<=2.2.6,因为程序是在.NET框架中创建的。我唯一能找到的区别是,我的测试程序集似乎使用app.config文件进行包配置,而我剩下的程序集使用的是一个名为packages.config的文件。这不是我故意做的事情,而是在我安装Nuget软件包时自动配置它。以下是这两种内容之间的区别:

app.config

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<dependentAssembly>
  <assemblyIdentity name="Microsoft.Extensions.DependencyInjection.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral"/>
  <bindingRedirect oldVersion="0.0.0.0-3.1.0.0" newVersion="3.1.0.0"/>
</dependentAssembly> 

packages.config

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<package id="Microsoft.Extensions.DependencyInjection" version="2.2.0" targetFramework="net47" />

有谁知道这个错误是否与使用app.configpackages.config之间的区别有关,还是我在胡思乱想?如果是这样的话,还有什么会导致这个错误,我如何强迫它使用2.2.0版本的包,就像其他程序集一样?

EN

回答 1

Stack Overflow用户

发布于 2019-12-17 02:21:36

您需要将该app.config块更改为:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<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.0netstandard2.0为目标,因此您可能能够使用它,在这种情况下,您可以保留您的app.config文件,并在您的packages.config文件中显式地升级Microsoft.Extensions.DependencyInjection.Abstractions

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59372041

复制
相关文章
什么是uid?什么是Auth?什么是验证器?
什么是uid? UID,用户身份证明(User Identification)的缩写,网络平台注册时系统自动生成的数值。 什么是Auth? 它的身份,比较老板 员工 经理。。。。。 作用用于区
贵哥的编程之路
2022/07/04
3.5K0
eclipse安装gwt插件,浏览器安装gwt插件,eclipse启动gwt自带的工程,并在浏览器上访问,eclipse导入gwt工程「建议收藏」
首先gwt插件,小编这里上传了eclipse和浏览器上的gwt插件:http://download.csdn.net/download/csdnliuxin123524/10255451
全栈程序员站长
2022/08/05
1.2K0
eclipse安装gwt插件,浏览器安装gwt插件,eclipse启动gwt自带的工程,并在浏览器上访问,eclipse导入gwt工程「建议收藏」
身份验证器是如何验证我们的身份?
​ 我以为我最初遇见他是在宝塔面板上,因为他可以方便的帮助我们进行身份验证。其实我们早就相遇在QQ安全中心手机版的口令里面(此处不确定是否是使用同一种算法,不过原理类似)。当初遇见他,我并不知道他是离线的。我以为谷歌身份验证器肯定是绑定谷歌账号的。后来找了半天,原来他只是个离线的软件。相信有很多同学和我一样的想法:离线身份验证器如何能使我们登录在线的场景?
yumusb
2020/08/28
4.2K0
常见服务器对jdk版本的支持
WebSphere5.1:JDK1.4,Servelet2.3、JSP1.2 WebSphere6.0:JDK1.4,Servelet2.4、JSP2.0 WebSphere6.1:JDK5.0,Servelet2.4、JSP2.0 Tomcat4.1:JDK1.4,Servelet2.3、JSP1.2 Tomcat5.5:JDK5.0,Servelet2.4、JSP2.0 Tomcat5.5:JDK5.0,Servelet2.4、JSP2.0 Tomcat6.0:JDK5.0,Servele
西门呀在吹雪
2020/11/09
2K0
hibernate-笔记
什么是 hibernate 框架     1.hibernate 框架应用在 javaee 三次结构中 dao 层框架     2.在dao 层里面对数据库做curd 操作, 使用hibernate       做crud 操作, hibernate 底层代码就是jdbc, hibernate       对 jdbc 进行封装,使用hidernate 好处,不需要写复杂的jdbc 代码了,不需要写sql 语句实现。 什么是orm 思想     1.hidernate 使用orm 思想对数据库进行cru
用户1197315
2018/01/22
8960
hibernate-笔记
GWT 初体验
最近体验了一下 GWT(Google Web Toolkit),其实这个技术老早就有了,写 Java 代码,代码很像 AWT 或者 Swing,但是最后编译成一个 war 包,也就是说,没有啰嗦的 JavaScript、HTML 和模板语言,Java 从前到后通吃,常用的模块都被封装成组件了。虽说写起来代码还挺啰嗦的(写法上面居然不支持链式调用,这确实让我看不懂),而且也没有传统 Web 开发方式来得直观,但也算一种很有意思的开发方式,值得体验一下。网上有足够多的教程,要系统地学习,官方文档是最好的材料,非常详尽。而我的方式,则更具个人风格一点,比较+吐槽,这可不是教程。
四火
2022/07/18
1.1K0
GWT 初体验
什么是Soc验证,一个简单的uart验证实例
哈喽,我是不二鱼,感谢您的阅读。在上一篇文章中,我大概讲了什么是Soc,没看的朋友可以点开链接阅读一下。
用户10108023
2022/10/28
1.1K0
swift-annotations:java编译时警告主版本 52 比 51 新, 此编译器支持最新的主 版本。
本文介绍了在Java Bean代码中加入Swift注释时出现的警告问题,该问题会导致编译器版本比当前编译器版本高。在文章中提出两种解决方法:1.升级Java编译器到1.8;2.使用Swift-annotations 0.14.x版本。
10km
2018/01/03
3.4K0
kubernetes各个版本支持时间是多长?
Kubernetes发行版通常支持9个月,在此期间,如果发现严重的bug或安全问题,会在对应的分支发布补丁版本。 比如,当前版本为v1.10.1,当社区修复一些bug后,就会发布v1.10.2版本。
党志强
2020/02/11
8080
【GIT版本控制】--什么是版本控制
版本控制是在软件开发和许多其他领域中非常重要的工具,因为它解决了许多与协作、追踪更改和管理项目相关的问题。以下是一些主要原因,解释了为什么需要版本控制:
喵叔
2023/10/06
3140
Java中的 Switch 是如何支持 String 的?为什么不支持 long?
我们知道 Java Switch 支持byte、short、int 类型,在 JDK 1.5 时,支持了枚举类型,在 JDK 1.7 时,又支持了 String类型。那么它为什么就不能支持 long 类型呢,明明它跟 byte、short、int 一样都是数值型,它又是咋支持 String 类型的呢?
好好学java
2021/04/30
7390
Java中的 Switch 是如何支持 String 的?为什么不支持 long?
TestDriven.NET (2.7 Beta) 支持Silverlight/CoreCLR
Silverlight 1.1,在这个微软已经提供下载alpha版本中,包含了一个缩减版的CLR,还有最新发布的Dynamic Language Runtime (DLR)。Silverlight将被插入Internet Explorer、Mozilla和Safari浏览器中,这意味着缩减版的CLR也能够运行在这些平台上。 微软将这个缩减的CLR称为“Core CLR”(核心CLR)(这个核心CLR的代码代号是Tolesto,微软表示这恰巧是一个环绕土星的卫星的名字。)Core CLR将包含garbage
张善友
2018/01/30
5120
Selenium最新版本不再支持PhantomJS
今天想对《自动读取单位某系统数据》一文中的项目做些优化,将Selenium+firefox改为无界面的PhantomJS,出现如下错误:
拓荒者
2019/03/15
1.9K0
Insider 版本中的 SMB 身份验证速率限制器
嘿伙计们, 内德 又来了。我有一个新的 SMB 预览功能要分享:SMB 身份验证速率限制器。它在Windows Server Insider build 25075中可用。 几周后,它还将出现在 Windows Server Azure Edition Insider 和 Windows 11 Insider Dev Channel 版本中。你不需要做任何事情——它就在那里并且开箱即用——但我希望你想知道更多。
Khan安全团队
2022/03/17
7360
聊聊如何验证线上的版本是符合预期的版本
当我们想知道部署项目的哪个版本有问题?当我们想知道线上运行的版本是否是我们预期的版本?当我们想把部署的版本与代码进行关联?如果是你用git来做版本管理,那就可以使用git-commit-id-maven-plugin插件来实现上述功能。
lyb-geek
2022/05/03
5670
LiteAVSDK 迎来最新的 6.8 版本
该功能通过调用 ITXLiteAVNetworkProxy.h 中的 setSocks5Proxy 接口进行设置,可以参考 Socks5 代理服务器的的搭建方案:
腾讯云音视频
2019/11/22
2.8K0
LiteAVSDK 迎来最新的 6.8 版本
【Android APT】注解处理器 ( 配置注解依赖、支持的注解类型、Java 版本支持 )
Android APT 学习进阶路径 : 推荐按照顺序阅读 , 从零基础到开发简易 ButterKnife 注解框架的学习路径 ;
韩曙亮
2023/03/29
3600
真香!IDEA 最新版本,支持免打扰模式!
IntelliJ IDEA 2020.1 的第二个早期访问版本已发布,新的 EAP 构建对调试器和事件探查器(Profiler)进行了改进,并引入了新的提交工具窗口(Commit toolwindow)以及禅模式(Zen Mode)。
芋道源码
2020/02/19
2.4K0
真香!IDEA 最新版本,支持免打扰模式!
点击加载更多

相似问题

使用散列和范围主键的性能: Dynamodb

20

通过散列和范围键查询DynamoDB表

10

NoSQL的用例

544

DynamoDB:搜索散列键或范围键

20

NoSQL技术、用例、优点和弱点

14
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文