Visual Studio 2015无法在软件包文件夹中找到nuget软件包引用和DLL
我已被其他人授予了C#项目。我打开了该项目并试图通过执行Update-Package -reinstall
来安装所有的Nuget软件包。Visual Studio 2015无法在软件包文件夹中找到nuget软件包引用和DLL
它下载了packages
文件夹中的所有包。
/Projects
/WebApiTest (root folder)
WebApiTest.csproj
WebApiTest.sln
/packages (packages are loaded in this folder)
但整个项目仍然说,它缺少所有的参考。我editted的的csproj文件,看看它会尝试加载从包,那就是:
<ItemGroup>
<Reference Include="Antlr3.Runtime">
<HintPath>packages\Antlr.3.4.1.9004\lib\Antlr3.Runtime.dll</HintPath>
</Reference>
<Reference Include="EntityFramework">
<HintPath>packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="EntityFramework.SqlServer">
<HintPath>packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll</HintPath>
<Private>True</Private>
</Reference>
... etc.
所以我认为它开始在同一个目录中查找作为csproj
文件在同一目录也是具有所有DLL文件的packages
文件夹。所以这条道路似乎是对的。
为什么我的项目仍然无法加载参考?
NuGet是否成功从命令行恢复软件包?
尝试从在命令行中运行这个,从同一文件夹中您的解决方案:
nuget restore WebApiTest.sln
注意,你可能需要完全限定的NuGet的执行(例如C:\的NuGet \ nuget.exe) ,或者将它放在你的道路上。
如果您还没有,可能需要下载NuGet可执行文件。
如果这不起作用,希望它会阐明为什么!
不幸的是,我也遇到了同样的问题 – w00
这篇文章开始变老了,但正如我自己遇到过这个问题并修复它,我会分享一个可能的解决方案。
我必须通过右键单击有问题的项目,管理NuGet包...,然后从那里卸载/重新安装,手动卸载并重新安装包。
小心包装版本:一定要抓住相同的,以防项目不使用最新的。
这个过程之后对我来说一个明显的影响是csproj文件中的路径得到了更新。
希望它会帮助别人:)
开拓的csproj文件在纯文本编辑器中的项目并修复DLL的路径。您可能会看到类似:
<HintPath>packages\etc\etc\etc...</HintPath>
我改变那些出现于:
<HintPath>..\packages\etc\etc\etc...</HintPath>
我被推离,该项目罚款的工作电脑这一变化,并把他们背下来的坏机上它不再是一个问题。
注意:如果您的项目文件与您的软件包文件夹位于相同的文件夹中,这不会成为问题。
什么固定的,我缺少的项目引用是简单:
- 关闭Visual Studio的
- 删除其中所有的NuGet包存储(可能是在您的解决方案级,否则“包”的文件夹项目级目录)
- 打开在Visual Studio
- 如果你有automatic package restore on再次解决方案,只需重建,否则先恢复(从溶液中上下文菜单)中的NuGet包,然后重建。
您是否在包管理器控制台窗口或输出窗口中看到任何错误消息?在更新软件包之前,请清理并重建整个解决方案。请检查,如果新版本已安装或旧版本被删除:http://stackoverflow.com/questions/20800507/nuget-package-update-issues –
你可以分享整个错误日志? –