Windows更新安全补丁后,原本的Sharepoint项目无法编译通过。提示如下错误
未能解析主引用“Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c, processorArchitecture=MSIL”,因为它对框架程序集“System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”有间接依赖关系,而在当前目标框架中未能解析该程序集。“.NETFramework,Version=v4.0”。若要解决此问题,请移除引用“Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c, processorArchitecture=MSIL”,或将应用程序的目标重新指向包含“System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”的框架版本。
重新引用对应的dll无效。
最终确定错误是由于安装某些程序或补丁将“System.Net.Http.dll” 删除导致的。
猜测原因:
原本在如下目录应该有“System.Net.Http.dll”
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0
打开文件夹发现“System.Net.Http.dll” 不存在。返回上一级 目录如下:
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5
解决方法:
在上级目录中v4.5内,找到“System.Net.Http.dll”。将v4.5的“System.Net.Http.dll”拷贝v4.0中,重新编译项目,顺利通过。
同样的问题:提示 System.Web.Http.dll等错误,应该都是系统误删dll导致的。在同级目录中找到同名文件复制过来即可。