2016-06-13 729 views
0

我有一个在Visual Studio 2015中运行的项目的.NET解决方案。我通过NuGet处理一些外部库。NuGet恢复不包括框架

NuGet软件包位于packages文件夹中,因为它们应该这样做。如果我删除packages文件夹并使用VS或通过命令行msbuild重建,packages文件夹将在这种层次结构中恢复:packages\Csv.2.0.0.0\lib\Csv.dll。这些文件夹缺少框架,整个解决方案的引用在没有框架文件夹的情况下创建。

如果我的同事构建相同的项目,NuGet将恢复与框架文件夹相同的包,如packages\Csv.2.0.0.0\lib\net40\Csv.dll,并且他的引用失败。如果我们手动运行恢复,也会发生同样的情况:nuget restore mysolution.sln

是什么导致了这个问题,我们该如何解决?据我所知,框架文件夹应该始终在那里。我们的源代码相同,VS版本相同,nuget.config文件相同,nuget.exe版本相同(3.4.4.1321)。

+0

感觉像一个可怕的bug。你可以在http://github.com/nuget/home上打开一个具有详细repro的问题吗? –

+0

我只是完全相信这是一个pebcak问题,因为我对nuget不是很熟悉。就像我刚才注意到的那样,实际上只有一个图书馆。我的下一个目标是摆脱这种依赖。 –

回答

0

我通过删除我的一个包来解决问题(事实并非如此)。因为只有一个软件包导致了这个问题,所以我想最初的问题与软件包的配置或者如何添加到我们的nuget中有关。

无论如何,问题解决了。其他软件包工作得很好。