再次,我回答我的问题...
点是,我正在改变溶液的结构和周围移动的一些项目。这意味着,您在每个项目的.csproj文件中获得无效的相对路径。没关系,只要你不改变结构的深度,我就是这么做的。
对于未知的原因,调试版本很好,无效路径(可能会收集一些其他方式,因为我手动删除bin和obj文件夹和清除解决方案等)。但是对于发布版本,它试图从(错误引用的)软件包/目录中获取程序集。
NuGet进程的任何部分都没有发现/报告过这个问题,并且在所有的UI控制台中,甚至在NuGet PowerShell控制台本身中,一切似乎都没问题。
解决方案很明显。编辑受影响项目的.csproj文件(实际上,我通过过滤警告和发现,只有一些程序集受到影响,而且这些程序集来自主解决方案目录之外),并将程序集引用的路径更改为正确的NuGet程序包夹。
附注:这是NuGet(也可能是VS)参考处理的问题。它试图使用一些相对路径,而不是像$ {SOLUTION_ROOT}或$ {NUGET_ROOT}或$ {PACKAGES_FOLDER}那样添加一些变量。如果是通过变量替换完成的,则可以在多个解决方案中使用相同的项目,而不会破坏NuGet包配置。至少我还没有找到在多个解决方案中共享同一个项目文件夹的方法。
我有同样的问题,但是由.csproj文件的合并引起的。我不得不卸载/编辑项目并删除重复的引用,以便NuGet可以在解决方案中重新加载项目文件后再次管理它们。 – tmgirvin 2016-02-04 23:23:50