簡體   English   中英

NuGet 恢復包但缺少 DLL

[英]NuGet restoring packages but missing DLLs

我已經在我的機器上成功運行了一個 Visual Studio 解決方案,但是當我將更改提交到 BitBucket 並且另一個用戶已經拉下項目並在 Visual Studio 或 TeamCity 上構建它時,我們收到了錯誤,例如:

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

當我查看該項目時,我可以看到每個 NuGet 包文件夾都存在,但缺少 DLL。 這本身很容易解決 我只是刪除了有問題的包,並在下一次構建中 NuGet 恢復了包,現在存在 DLL。

我不明白的是為什么 NuGet 在第一次嘗試時沒有得到 DLL?

我花了一段時間才弄清楚發生了什么,但問題不是 NuGet,而是源代碼控制的設置。

我沒有將packages文件夾添加到 Mercurial 的忽略列表中。 默認情況下,它會將 NuGet 包上傳到 BitBucket,但會忽略 DLL。 當另一個用戶下載項目時,它會拉下包,Visual Studio 或 TeamCity 會看到包文件夾並假設包已經下載。 將包文件夾添加到 .hgignore 文件將在未來阻止這種情況發生。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM