原因可能有多种:
第一种问题:
解决方式1:
今天换了台电脑,就把笔记本上的项目拷贝到了台式机上, 但是我没有拷贝解决方案整个文件夹,因为其中项目太多了,我就把其中一个项目的文件夹直接拷贝到电脑上,然后就出现了下面的情况。
这时候第一个想到的工具都是Nuget,这是微软的一个开源包管理工具,我们可以利用它来还原我们丢失的DLL,选择我们的解决方案,点击"还原Nuget包",但是问题没有解决,或者提示没有包需要下载的话往下看。
问题没有解决我们只能通过包管理的流程去尝试了解。
众所周知,visual studio的项目都是通过项目的packages.config文件来对项目引用进行保存的,然后Nuget读取该文件,将其中的Dll与解决方案中的Packages文件夹进行对比,如果存在就指向文件夹中的dll,如果不存在,就下载,然后指向。
我打开我的项目一看,原来我的Packages文件夹在我的项目下面,我将它剪切到项目外面和项目文件夹同级,则问题解决。最后正确的目录和解决后的场景如下
解决方式2:
修改.csproj里面引用的路径,确保能正常找见packages
第二种问题:
首先获取离线NuGet包
1.NuGet离线安装包获取方法,例如下载的包名称为“ sharpziplib.0.86.0.nupkg ”
2.如果你的同事的项目运行正常,那么当前项目引用的包都在解决方案文件.sln文件的统计目录packages文件夹下,
从中找到NuGet包对应的文件夹拷贝至自己的机器上。
在本机新建离线下载包安装源的文件夹
例如:F:\packages,进入packages文件夹
如果是下载的.nupkg格式的离线安装包,需要新建与包同名的文件夹如"sharpziplib.0.86.0 ",并将离线包“sharpziplib.0.86.0.nupkg”拷贝到里面
如果是从其他机器上拷贝过来的文件夹,则直接拷贝至F:\packages文件夹即可
打开解决方案,点击Visual Studio 2015菜单栏——工具——选项——找到NuGet包管理器——程序包源
点击右侧“+”按钮,填写源名称,源,点击确定。如下图
再次管理NuGet包时,安装源选刚才新建的安装源即可