参考博客: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;