為什麼Microsoft Visual Studio 2013旗艦版 的安裝要佔用如此大量的C盤空間?
PS:我裝在F盤不是因為C盤不夠大,而是因為F盤是SSD……
微軟的另一個使命是促進用戶更新硬體,幫助合作夥伴.
正確的問題應該是,為什麼有人要把C盤設置得如此小,以至於VS需要的這麼一丁點空間顯得大。
其實,何苦要分盤呢?
從很多年前開始,我就把我的windows系統設置為只有一個C盤。
C盤還是不夠?買新硬碟。
樓上匿名用戶說的另一個觀點很有意思。
說開發依賴不應該裝到系統環境,否則會出現在開發機上能跑,客戶機不能跑的問題。
這個,一般分三個環境的吧?開發,測試,生產。
開發環境隨便搞,怎麼方便怎麼來,但需要跟測試環境隔離出來的說。
然後具體也要看什麼程序吧,伺服器端程序據說amazon那幫人都是直接發布虛擬機了。
客戶端程序呢,就算是同樣正版windows,也有可能因為客戶那邊裝了360而不能跑的說。1.為什麼要把C盤設置的如此小?
我不明白我不明白我不明白我不明白我不明白我不明白我不明白我不明白我不明白我不明白我不明白我不明白我不明白我不明白我不明白我不明白我不明白我不明白我不明白我不明白我不明白我不明白我不明白我不明白我不明白我不明白我不明白我不明白我不明白我不明白我不明白我不明白我不明白我不明白我不明白我不明白我不明白我不明白我不明白我不明白我不明白我不明白我不明白我不明白我不明白我不明白我不明白我不明白我不明白我不明白我不明白我不明白我不明白我不明白
2.為什麼要分區?
我能理解但是不推薦我能理解但是不推薦我能理解但是不推薦我能理解但是不推薦我能理解但是不推薦我能理解但是不推薦我能理解但是不推薦我能理解但是不推薦我能理解但是不推薦我能理解但是不推薦我能理解但是不推薦我能理解但是不推薦我能理解但是不推薦我能理解但是不推薦我能理解但是不推薦
抱歉污染了各位的答案區,下面開始認認真真答題。
首先,對於開發機/個人電腦來說,如果你只有單硬碟的話,分區並不是件非常必要的事情。
為什麼?因為你不需要經常性地重裝系統。你應該養成定期用另一塊硬碟備份你主硬碟上的數據的良好習慣。這才是保護數據的唯一法門:物理拷貝。(分區對於物理損壞是毫無作用的。)
那麼,為什麼VS需要佔用這麼大的C盤空間?
因為VS本身2.8G那塊倒是不大,但是各種library大得很,必須放到C盤。目的是保障各種sdk啊framework啊能夠正常運行,能被各種程序(非VS)使用。這樣設計的好處,正如 @vczh菊苣所說,你硬碟夠大,那就很方便。現在硬碟都白菜價了,HDD暫且不表,就算是256G SSD也才一千多點。能上多硬碟的,來塊256G / 512G SSD全部當C盤,然後再來快隨便多少T的HDD當DEFGHIJK。這樣不就行了~作為一個程序員,首先要優待自己,我就用一個512G的SSD當C盤,把windows、所有軟體和steam所有遊戲都堆進去了。絲般順滑,秒開VS,crysis場景秒load,GTA毫無延遲,巨爽無比。
然後機械硬碟,一個硬碟一個盤就行了,反正系統崩了機械硬碟的部分也不用刷掉。然後你就不需要花費時間來考慮這種無聊的問題了。
==================================================
問題回答時間:其實以前Visual Studio安裝時候的選項是很細的,你可以選擇你僅僅需要的那一小部分裝進去。不過一定要安裝在C盤的除了windows sdk、.net framework以外,還有visual studio shell。實話告訴你,VS這個大UI,其實是一個library。所以只有裡面的C++啊C#等IDE插件和VS的主exe可以裝在別的盤,啊哈哈哈哈哈。順便msdn你不喜歡可以用在線版不用下載到硬碟,這個就更多G了。
現在大家的硬碟都那麼大了,還管這麼多幹什麼,於是把選項做簡單了。其實在環境好了之後,沒有選擇才是過起來最爽的。
你安裝的是上萬美金的旗艦版,花了上萬美金買軟體,還沒有幾十成百美金的錢升級硬碟?
下面面向專業版和免費版用戶
每一個安裝選項都有成本——微軟需要測試所有的可能安裝選項的組合。自定義選項的測試成本具有階乘複雜度O(n!),所以不可能把選項做得太複雜。由於微軟將VS模塊化的努力,基於語言的安裝選項不再能夠顯著影響安裝的組件大小——一個託管語言包現在只有幾十兆,佔用磁碟空間的大頭都在各種語言共享的模塊裡面,比如Windows Forms的設計時支持(System.Windows.Forms.Design)是在.Net Framework裡面的。隨著每個語言支持的平台數量的增加(比如Windows 桌面、Windows Store、http://ASP.Net、Silverlight、Windows Phone、Windows Azure、SQL Server等等),基於目標開發平台的自定義選項更能顯著節省用戶的磁碟空間。這個分類的改變也造成用戶默認安裝時會安裝一些對用戶來說是多餘的組件。
雖然安裝程序的圖形界面提供的選項不多,默認會安裝很多文件到系統盤,但是一些共享組件是否安裝,安裝時安裝到什麼目錄,其實是可以在無人值守安裝模式下自定義的。參考如何:創建和運行 Visual Studio 的無人參與安裝。注意微軟並未測試全部無人值守安裝模式下的自定義選項的組合。
一些佔用系統盤的組件Visual Studio自己運行的時候需要用到,雖然用戶開發的程序可能用不上,也不能不裝,比如.Net、Visual C++共享文件等等。安裝過程中和結束後,安裝程序也需要大量空間,比如需要解壓文件到臨時目錄,需要寫入安裝日誌,需要寫入Windows Installer緩存以備以後安裝服務包等等。微軟自家軟體帶的共享庫文件部分往往強制安裝在系統盤的Program Files目錄下,無論你指定軟體安裝在哪裡。
這是有道理的:既然是共享庫當然不會讓你指定安裝路徑了,否則你裝兩個存在共享庫的微軟軟體,要求全部文件都安裝在你分別指定的目錄里,那不就產生兩份共享庫的副本了么?這樣共享庫也不共享了,也不能統一升級了
嚴格的說,對於這類專業軟體,我不覺得 C 盤放不下是個壞事,因為這顯然是升級電腦的借口。
微軟在幫助程序員找理由申請更好更高配置的電腦,謝謝。
顯然,如果你不是打工的,這個軟體不是你個人應該需要用的東西。乞丐版Surface Pro 3 64G用戶哭暈在廁所回頭解決了的話我會告訴大家是怎樣解決的---默默的卸載了已裝的不到20%的部分已經裝了Adobe全家還想吞下VS是我的錯想要做Universal Apps一定還有其他的方法我不急- -
如果安裝程序會被提示c空間不夠,說明硬碟小了如果運行程序會被提示內存不夠,或者換頁導致卡死,說明內存小了用起來感覺不到硬碟還有內存的存在,說明硬碟的大小和速度都到位了,內存的大小也到位了
Ultimate是面向土豪用戶的版本我不認為一個買的起VS Ultimate正版的用戶會糾結軟體佔據硬碟空間的問題跑題了,回答問題的話上面的大神已經說得很好了,我就不多嘴了
C盤現在至少120G起才能整微軟的開發, SSD至少256才勉強夠用
如果可以裝到其他盤, 那麼微軟的測試用例上就要處理很多磁碟不穩定又要恢復的問題這是一件很麻煩的事情我猜的
你看linux就一個盤, win10也出複位系統, 因此以後買電腦完全不用分區開發環境根本不應該把自己的庫裝到系統環境,不然哪有那麼多問「為什麼我開發的程序拿去別人機器不能跑」的。
開發環境是 dev-dependencies,運行環境是 dependencies,兩者分開在測試部署方面優勢太大了。必須裝 C 盤只不過是各種愚蠢的最終結果。軟粉實在厲害,C盤佔用大這種事實也能強行轉移話題然後把火力轉移到用戶C盤太小上。
非常不贊同前面幾個的回答,強詞奪理吧。
鑒於SSD現在依舊不是很便宜,尤其是好的SSD,對於學生而言也是一筆開銷,何況存在壽命問題,於是很多人買來一塊SSD十分節儉地用作windows的系統盤,來安裝系統和學習軟體,結果你告訴我為什麼不買大一些的硬碟,我買硬碟是為了多裝軟體的!不是為了你一個幾十個G的vs的,這不是有病的心理嗎?
還有微軟自以為是的surface系列,他們的硬碟更是貴的離譜,買來裝vs,除非你是想給微軟多掏點錢。
我們看一下VS官方論壇上面的一個帖子啊:
發帖的人說我不需要那麼多組件,你們儘管綁定安裝了這些玩意別人還是用其它的軟體(呵呵)。PM回復說我們已經做了提高,你們可以自定義了!(官方套話)有意思的是下面的網友回復:
作為對比,我另一個機器C++98加上msdev.exe一共192MB,呵呵。
你們十年來所謂的"提高"其實毫無作為,你們侮辱了幾百萬用戶的尊嚴,去看看Roslyn在Github的bugs列表吧,看看你們的IDE究竟有多爛!
VS2015 pro就是一團屎一樣的軟體。
你們還需要幾個G的"提高"。MS你就是一個大屁眼子,你就是個捆綁銷售的瘋子,我嘗試裝了VS E給我裝了14G的東西,你們始終就是不作為,面對用戶不斷說謊充耳不聞!提高了??哈哈哈。我就是需要個網頁開發工具,你TM給了我blend,VC++和其它10GB!--------------------------------------------------
沒辦法否認的是微軟現在的做法已經越來越流氓了,為了推廣win10,C#和微軟自家開發框架,VS默認就會安裝C#,WPF等等相關環境,據說VS本身就是根據這個開發的,但是是否一定要安裝該開發環境,我不以為然。
微軟從win32 mfc win form wpf 到現在的uwp歷經很多界面的開發方式,到如今為了給windows phone那可憐的應用數目擴展起來,已經把windows軟體的開發方式改成了uwp,想開發?那就給我的windows phone也開發軟體吧,之前那麼多開發框架,大部分都是半死不活,出來一個,支持一陣子,然後又出新的。
看看微軟的lumia系列,心比天高,命比紙薄,微軟現在做東西已經不是只想著用戶體驗了,他們首先想的是自己如何霸佔更多的地盤。已經吞了10G了,還在繼續。。。。。。。。。
只要不是綠色軟體,往C盤丟就好了.即時放到其他分區里重裝遍系統也都不能用了,還得手動刪,這何苦呢.其實有兩個分區就夠了,C盤裝系統,D盤個人文件.
我只是希望了解解決這個問題的辦法,而不是換系統盤或者重新分區..
回答問題的諸位至少也要解釋一下為什麼會佔用系統盤如此大的空間,還好有人解釋了。
今天卸了vs2013準備坐等裝2017,卸了一個多小時,簡直懷疑人生(╯‵□′)╯︵┴─┴
等2017啊https://www.visualstudio.com/zh-cn/news/releasenotes/vs2017-relnotes#willowhttps://www.visualstudio.com/en-us/news/releasenotes/vs2017-relnotes#willow可以什麼環境都不裝,幾百兆
微軟懶得優化而已,又不是靠賣這個吃飯
現在還在用著vs2008,裝的時候還容易出點錯
我是vs 的老用戶 ,在我看來,vs 太大是由於裡面的各種文檔,庫文件(各種版本 Debug Release 等)包含文件 工具文件 太全面了,而且如果你直接按照默認設置安裝的話 他會把cpp c-sharp j-sharp x64開發包 嵌入式開發包 水晶報表 等等
不只是微軟,應該還有其他軟體也是這樣,我記得電腦管家安裝在C盤也比其他盤要大個空間。。
推薦閱讀:
※VS一定要佔用c盤空間嗎?
※.NET 會翻身嗎?
※VS2015一新建項目就出現未將對象引用設置到對象的實例怎麼辦?
TAG:編程 | MicrosoftVisualStudio | 存儲技術 |