2017-06-29 176 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