VS 提示:请考虑使用 app.config 将程序集“XXX”从版本“XX”重新映射到版本“XX”,以解决冲突并消除警告。
具体提示如下:
请考虑使用 app.config 将程序集“System.Web.Http.WebHost, Culture=neutral, PublicKeyToken=31bf3856ad364e35”从版本“5.0.0.0”[D:\Code…(项目路径就省略了)\bin\System.Web.Http.WebHost.dll]重新映射到版本“5.2.3.0”[D:\Code…\packages\Microsoft.AspNet.WebApi.WebHost.5.2.3\lib\net45\System.Web.Http.WebHost.dll],以解决冲突并消除警告。
其实这不是个 错误
,是 警告
级别的,所以你也可以忽略它。不过博主是个强迫症患者,所以决定“消灭”它。=。=
下面就来分析一下,找出k.o.它的办法~~~
初步估计原因应该是有某个dll的两个版本,VS 建议使用新的。
于是我打开项目的 packages
文件夹,发现确实是有两个的
有两个的原因应该是我的工程包含了好几个 asp.net
项目,有些是比较早前新建的【上一年了,而且同事建的时候用的 VS2013
,我的是 VS2015
】,然后我昨天又新建了一个,应该是默认引入的 System.Web.Http.WebHost
版本不一样,所以造成了有两个版本。
直接从 packages
文件夹删除是不行的,因为生成项目的时候 nuget
会还原,而且如果你的工程包含多个项目,也不知道哪个项目用了旧版。删除会造成一些问题。
简单点的操作方法是在 web.config
文件里面添加说明,指定用哪个版本就好啦
看 runtime
下面的 assemblyBinding
节点,里面包含的每个 dependentAssembly
节点就是定义引用程序集的版本,仿照原有的添加一个就好了。
<dependentAssembly>
<assemblyIdentity name="System.Web.Http.WebHost" culture="neutral" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
</dependentAssembly>
PS:VS提示让我们重新映射到 5.2.3.0
,所以 newVersion
写 5.2.3.0
。
修改完保存后重新生成项目就可以消除这个警告了。
最新文章
- git 学习笔记5--rm &; mv,undo
- omDialog设计造成控件无法后台取值
- 开发流程习惯的养成—TFS简单使用
- iOS 获取已连接的wifi信息
- Android 不同应用通过SharedPreference实现共享数据
- Beaglebone Back学习四(GPIO实验)
- React-Native牛刀小试仿京东砍啊砍砍到你手软
- 在sql语句中使用plsql变量
- Oracle 最简单的随系统自己主动启动
- 在高德地图应用api,和api展出的标记小的应用程序
- angular控制器之间的传值
- 史上前端面试最全知识点(附答案)---html &; js &; css
- FCN小小实战
- 如何在自定义组件中使用v-model
- 经典合集 - WP8.1数据源
- Centos 02 操作系统 &; Linux安装
- spring 事务的配置学习
- .NET 基础知识
- 已知(x,y,z,yaw,pitch,roll)如何得到4*4的转换矩阵?
- forget word qz_c