現在使用.net編程,不可避免的總會使用到NuGet去下載引用第三方的dll,而且vs2012也直接默認就會安裝上NuGet了。NuGet的確也給我們帶來了一些方便,但是也帶來了一些問題,比如:一般程序員為了保證自己的項目能Build成功,都會把所有依賴的dll也都check in到代碼管理庫里,這樣不斷地把一些dll簽到代碼庫里,那它的體積就會不斷地膨脹,而且也可能存在重復的dll被簽入進來。而且現在vs簽入代碼的時候也不會把NuGet的package文件夾包含在內,每次都要手動去Add也挺麻煩的。所以NuGet提供了一個功能,就是在項目Build的時候,自動下載缺失的dll並加載(當然這些dll也是之前通過NuGet加載來的哈)。
只需要照着下面這個設置在vs里鈎選一下就可以了:
然后需要你在簽入代碼之前點擊Solution上右鍵,點擊以下這個選項:
vs會在解決方案下生成一個.nuget的文件夾,這時再把整個解決方案簽入代碼庫里。其它人簽出代碼后,只要按照圖一所示鈎選了那個選項之后,你在build的時候,NuGet就會自動把缺失的包給下載下來了。這樣代碼庫就不會越來越臃腫了,保持代碼庫的干凈,讓它真正的只存放代碼。
內部使用的類庫,我覺得也可以使用類似這樣的方式,統一存放一個地方,在項目build的時候再拷貝引用。保持代碼庫整潔。