[英]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.