我被别人给了一个C#项目.我打开了项目并尝试通过执行Update-Package -reinstall来安装所有Nuget包.
它下载了packages文件夹中的所有软件包.
/Projects
/WebApiTest (root folder)
WebApiTest.csproj
WebApiTest.sln
/packages (packages are loaded in this folder)
但整个项目仍然说它缺少所有参考文献.我编辑了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软件包……,然后从那里卸载/重新安装.
在软件包版本上要小心:如果项目没有使用最新版本,请务必抓住它.
在此过程之后,对我来说明显的效果是csproj文件中的路径已更新.
希望它能帮到某人:)