2017-06-29 127 views
1

我有一台Visual Studio解决方案在我的机器上成功运行,但是当我提交对BitBucket的更改并且另一个用户已经拉下了该项目并将其构建在Visual Studio或TeamCity上时,我们“已经收到诸如:NuGet恢复软件包但缺少DLL

error CS0234: The type or namespace name 'Entity' does not exist in the namespace 
'System.Data' (are you missing an assembly reference?) 

当我看了这个项目,我可以看到每个NuGet包文件夹存在,但DLL文件丢失。这本身是一个easy fix;我只是删除了违规的软件包,并在下一次构建NuGet恢复包和DLL现在。

我不明白为什么NuGet在第一次尝试时没有获取DLLs?

回答

1

我花了一段时间才弄清楚发生了什么,但问题不是NuGet,而是源代码控制的设置。

我还没有将packages文件夹添加到Mercurial的忽略列表中。默认情况下,它将NuGet包上传到BitBucket,但忽略了这些DLL。当另一个用户下载该项目时,它将下拉包装,Visual Studio或TeamCity看到包文件夹,并假定包已经下载。将packages文件夹添加到.hgignore文件将会在将来停止这种情况。

+1

感谢您在这里分享您的解决方案,您可以将其标记为答案,这样可以帮助其他社区成员获得相同的问题。 –

+0

@ Leo-MSFT - 感谢提醒,我只是等待接受我自己的答案完成2天限制。 – GrandMasterFlush