我們都是.net的程序員,首選的開發工具就是微軟的vs,話說vs真的版本好多,無論你用啥版本,你真的對vs建立的東西和清楚嗎?程序員
我看就不必定,最起碼我是剛剛有點門道,給你們分享下:web
都是老司機了廢話很少說了(我用的是vs2013),直接打開vs框架
紅色寫1的地方是你的解決方案的名字(英文solution),話說一個解決方案裏面包含多個項目(英文 project)。如你看到的紅色2的地方是你項目名稱,當你建新的解決方案的時候,解決方案的名字會和你建的第一個項目的名字一致(不一致,它叫什麼啊?)。
工具
好了,什麼都不用管,直接點擊肯定,進入vs建好的解決方案以後,在解決方案處右鍵,選擇在文件資源管理器上查看。打開硬盤上的位置,看到這幾個文件和文件夾性能
裏面有1個文件夾和2個文件。先說這2個文件,.sln文件和.suo文件都是解決方案的文件,屬於配置文件一類的,vs本身生成的,裏面的信息有好比說(版本信息,該解決方案有幾個項目、用的那個.net framwork框架、創建該解決方案的是什麼版本的vs等),總之裏面的信息比較多,對於咱們開發人員不用打開去更改裏面的信息。開發工具
在說文件夾WpfApplication2,這個文件夾裏面包含的就是你創建的該解決方案中第一個項目的多有文件了,好了我們打開url
比較沒經驗的程序菜鳥可能蒙了(我啥都沒幹怎麼這麼多東西),對於比較有經驗的程序老鳥會說這都是vs本身生成的,不用管。我們一塊兒來看看他們究竟是幹什麼的?spa
1.WpfApplication2.csproj:該文件是你項目的總文件,和前面的.sln同樣,裏面包含的是項目的信息。.net
2.MainWindow.xaml和MainWindow.xaml.cs:這兩個文件是你項目創建的時候vs默認給生成的窗體,.cs結尾的是後臺文件,.xaml結尾的是前臺文件(由於我創建的wpf項目,若是你創建的是web程序,那就成了.aspx和.aspx.cs結尾的文件了)。debug
3.App.config和App.xaml和App.xaml.cs這三個文件是你項目的配置文件(好比說一些公共的數據能夠放在裏面,那個窗體先初始化,異常了怎麼處理等等)。
4.Properties文件夾:這個文件打開你會發現裏面有 AssemblyInfo.cs、.Designer.cs文件、.resx 文件
4.1 AssemblyInfo.cs 類文件,用於保存程序集的信息,如名稱,版本等,這些信息通常與項目屬性面板中的數據對應,不須要手動編寫。
4.2.resx 資源文件,一些資源存放在這裏,通常不須要看。
4.3 .Designer.cs 設計文件,自動生成,不須要看。
5.bin文件夾和obj文件夾放在一塊兒說:
obj是object的縮寫,用於存放編譯過程當中生成的中間臨時文件。其中都有debug和release兩個子目錄,分別對應調試版本和發行版本,在.NET中,編譯是分模塊進行的,編譯整個完成後會合併爲一個.DLL或.EXE保存到bin目錄下。由於每次編譯時默認都是採用增量編譯,即只從新編譯改變了的模塊,obj保存每一個模塊的編譯結果,用來加快編譯速度。
Bin 目錄用來存放編譯的結果,bin是二進制binrary的英文縮寫,由於最初C編譯的程序文件都是二進制文件,它有Debug和Release兩個版本,分別對應的文件夾爲bin/Debug和bin/Release,這個文件夾是默認的輸出路徑.
上面2段話是有找的官方的解釋,說的簡單點就是obj是中間的編譯模塊存放的文件夾(你可想象成一個程序有不少模塊組合成,而每一個模塊是獨立的),而後bin文件夾就是把ob文件夾裏的一個個的模塊組裝起來生成exe或者dll.
這裏要說一下的就是不管是bin仍是obj文件夾中都有2個文件夾一個是debug/另外一個是release,這兩個文件夾也簡單。debug文件夾帶調試信息,我理解的就是有斷點信息。release文件夾不含調試信息。速度和性能比debug文件夾中的能續效率高,最終給客戶的是release文件夾中的程序。
)