windows下编译caffe报错:error MSB4062: 未能从程序集 E:\NugetPackages\OpenCV.2.4.10\......的解决办法

参考博客:http://blog.csdn.net/u013277656/article/details/75040459

在windows上编译caffe时,用vs打开后会自动加载还原NugetPackages文件夹,里面是caffe需要依赖的各种库。 
费了很长时间还原完成编译时,出现错误:error MSB4062: 未能从程序集 
E:\NugetPackages\OpenCV.2.4.10\build\native\private\coapp.NuGetNativeMSBuildTasks.dll 加载任务“NuGetPackageOverlay”。未能加载文件或程序集“file:///E:\NugetPackages\OpenCV.2.4.10\build\native\private\coapp.NuGetNativeMSBuildTasks.dll”或它的某一个依赖项。系统找不到指定的文件。 
请确认 声明正确,该程序集及其所有依赖项都可用,并且该任务包含实现 Microsoft.Build.Framework.ITask 的公共类。。。。。。。。。。。 
这让人很是崩溃,明明是自动下载的,怎么还会有错误呢? 
没办法,想使用,办法还是要找的,几经搜索之下,亲测可用的方法,供遇到相同错误的人参考一下。 
解决办法如下: 
第一步:项目->管理NuGet程序包->更新,此时可以看到opencv后面有更新的按钮,点击更新为opencv2.4.11。 
更新完成后,关闭项目重新打开,不要着急编译,此时编译仍会报错:错误 1 error : This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is ……\NugetPackages\OpenCV.2.4.10\build\native\OpenCV.props. E:\software\caffe-ssd-microsoft\windows\libcaffe\libcaffe.vcxproj 
第二步::选择解决方案的每一个项目,右键单击,卸载项目 
这里写图片描述 
卸载之后,编辑vcxproj文件, 
这里写图片描述 
将文件里面所有的OpenCV.2.4.10都换成OpenCV.2.4.11,重新加载项目,再进行编译即可。(每一个项目都要如此)。

二、补充办法

1.修改NugetPackages\OpenCV.2.4.11\build\native文件夹里面opencv的配置文件OpenCV.props,用编辑器打开以后搜索private

删除private 前面的\;

2.关闭vs2013, 用管理员身份重新启动vs;

posted @ 2018-03-18 18:31 amazingym 阅读(...) 评论(...) 编辑 收藏