2017-07-03 105 views
0

我在UAT上的项目抛出了一个关于我的开发环境中存在的NuGet包的例外(也就是我在我的/ packages文件夹下找到的),但似乎并没有成为我解决方案的一部分(也就是我启动NuGet软件包管理器,但我无法在安装的软件包列表中找到它)。Nuget:我怎么知道哪个项目引用了一个包?

该代码在dev上运行良好,但在UAT上崩溃。

我的问题是:我怎么知道这个库在哪里被使用?

回答

1

某些NuGet软件包无法完全卸载,因此您的项目文件中仍然会有剩余的引用(.csproj,.vbproj,...)。

首先,检查包含指向缺少文件夹的<HintPath>的元素<Reference Include="..">。你应该删除它们。

然后检查指向缺少文件夹的<Project Import="..." />元素。可能还有一些条件(用于<Error>元素)检查路径是否存在。删除所有这些。

然后删除包含所有NuGet软件包的packages文件夹,并重新打开VS中的解决方案并恢复软件包。

这可能会导致两种结果:

  1. 它的工作原理,并且成功地删除了所有“晃来晃去”到的NuGet包不再使用的引用。
  2. 你不能编译,因为缺少NuGet包。在这种情况下,请通过软件包管理界面再次安装NuGet软件包。
相关问题