2011-10-28 75 views
1

我安裝到我的解決方案不同的NuGet包。一些在我的域名項目中,一些在我的MVC前端項目中。的NuGet和Team Foundation源代碼管理

這一切工作很愉快。但是,如果你從源代碼控制中獲得新的項目,我可以看到我擁有packages文件夾中的所有軟件包。然而,他們似乎在項目的參考文獻中都有驚歎號。

如果我使用的NuGet命令的NuGet安裝。\ ProjectFolder \ Packages.config似乎再次安裝pacakges但refrences仍然沒有出現。我必須使用nuget手動安裝它們來管理引用並單獨安裝它們。對於新開發項目的開發人員而言,這是一件麻煩事。

似乎有點奇怪?有什麼不對或這是正常的嗎?不應該的NuGet/VS2010知道,所有的包存在,並且很樂意爲包都在從源代碼控制的本地文件系統(我知道有一個關於保持他們有爭論,但可以留下除外)

感謝

格雷姆

回答

0

我猜這是不正常的。我刪除了整個包文件夾。將所有軟件包重新添加到我的解決方案,然後提交所有更改。

現在它似乎工作,如果我重新得到源控制權的站點。也許有些東西被損壞了。該項目最初是在我使用源代碼管理和nuget之前開始的。也許某種初始設置問題。

感謝

格雷姆

4

更新2014年6月28日

你可能會考慮你的包的重新安裝。看到這個線程:How do I get NuGet to install/update all the packages in the packages.config?

下方留下了歷史的過時的答案,但要注意的是,基於MSBuild的包恢復目前被認爲是一種不好的做法(詳細信息:http://www.xavierdecoster.com/migrate-away-from-msbuild-based-nuget-package-restore

過時的答案如下:

不是你的問題的直接答案,但也許是一個有價值的建議當與TFS使用NuGet。 你可能會考慮NuGet包的no​​-commit策略,並使用NuGetPowerTools Enable-PackageRestore命令。

此處瞭解詳情:

+0

+1。是的,我認爲長期來看,我並不想在源代碼控制中使用二進制文件。這是一個很好的鏈接選擇。我會檢查我自己的答案,因爲這更像是技術故障。但我覺得這個答案可能是正確的方式來處理TFS + Nuget包 – GraemeMiller

+0

我認爲這個答案已經過時,需要修改。前兩個鏈接指向Nuget.org的建議,即在您自己的博客中聲明「啓用軟件包恢復」,但您反對這一點。我可以建議這是編輯? – Quango

+0

@Quango謝謝,提供了一個替代答案,因爲我的舊答案確實過時了! –

1

安裝NuGetPowerTools包一個然後從軟件包管理器控制檯啓用Enable-PackageRestore。這應該解決它。

這是@Xavier響應的簡短版本:)。

相關問題