C#中的bin和obj文件夹有什么用?
Bin目錄用來保存項目生成后程序集,它有Debug和Release兩個版本,分別對應的文件夾為bin/Debug和bin/Release,這個文件夾是默認的輸出路徑,我們可以通過:項目屬性—>配置屬性—>輸出路徑來修改。
obj目錄是用來保存每個模塊的編譯結果,在.NET中,編譯是分模塊進行的,編譯整個完成后會合并為一個.DLL或.EXE保存到bin目錄下。因為每次編譯時默認都是采用增量編譯,即只重新編譯改變了的模塊,obj保存每個模塊的編譯結果,用來加快編譯速度。是否采用增量編譯,可以通過:項目屬性—>配置屬性—>高級—>增量編譯來設置
obj和bin文件什么區別和聯系
1.bin?
? ? bin目錄用來保存項目生成后程序集,它有Debug和Release兩個版本,分別對應的文件夾為bin/Debug和bin/Release,這個文件夾是默認的輸出路徑,我們可以通過:項目屬性—>配置屬性—>輸出路徑來修改。
? ? 在添加引用時,.NET會記錄添加的引用絕對路徑,這些設置保存在“每用戶”文件中,(Solution.csproj.user),可以通過記事本打開查看。也可以在:項目屬性—>通用屬性—>引用路徑里面查看。如果設置復制到本地為true,在生成項目時會自動拷貝該DLL到項目生成文件夾中(bin目錄),否則不會拷貝。在生成項目時,對所添加的引用的是絕對路徑,而在運行時程序集默認只在當前所在的路徑下去找。要修改引用的路徑,必須通過編程的方法去實現。使用References 對象。
? ?在bin\debug\目錄中有兩個文件,除了要生成的.exe或.dll文件外,還有個.pdb文件,這個.pdb文件中就記錄了代碼中的斷點等調試信息。一般移植或者打包程序只需要Debug文件即可,里面包含.exe文件、.dll文件、.ini文件、.xml文件、.pdb文件、.lib文件、.config、.manifest文件、.png文件、.gif文件、.cur文件、自定義文件夾等。
? ?在\bin\release\目錄下只有一個.exe或.dll文件,Release模式下不包含調試信息,并對代碼進行了優化。
2.obj
? ??obj目錄是用來保存每個模塊的編譯結果,在.NET中,編譯是分模塊進行的,編譯整個完成后會合并為一個.DLL或.EXE保存到bin目錄下。因為每次編譯時默認都是采用增量編譯,即只重新編譯改變了的模塊,obj保存每個模塊的編譯結果,用來加快編譯速度。是否采用增量編譯,可以通過:項目屬性—>配置屬性—>高級—>增量編譯來設置。
obj這個目錄,在開發過程中可能會搗亂,比如你的一個引用的dll,更新了,然后你在vs開發環境里面重新刪除后,又重新引用,或者直接更新引用了。因為每次編譯時默認都是采用增量編譯的原因,所以,這個時候,不論你點多少次編譯,你會疑惑,明明是更新引用了,為什么新更新的那些函數和接口不存在,這個時候,你可以手工吧obj目錄都刪除掉一下,然后重新引用下,就可以正確的看到你更新的那些接口和函數了。
? 這個事實說明,obj在開發過程中,也是會被引用到的,并不只是在編譯的時候起作用。
都可以刪掉,
重新編譯又生成了
Properties文件夾 定義你程序集的屬性 項目屬性文件夾 一般只有一個 AssemblyInfo.cs 類文件,用于保存程序集的信息,如名稱,版本等,這些信息一般與項目屬性面板中的數據對應,不需要手動編寫。
.cs 類文件。源代碼都寫在這里,主要就看這里的代碼。
.resx 資源文件,一些資源存放在這里,一般不需要看。
.csproj C#項目文件,用VS打開這個文件就可以直接打開這個項目,自動生成,不需要看。
.csproj.user 是一個配置文件,自動生成的,會記錄項目生成路徑、項目啟動程序等信息。也不需要看。
.Designer.cs 設計文件,自動生成,不需要看。
.aspx 是網頁文件,HTML代碼寫在這里面。
sln:在開發環境中使用的解決方案文件。它將一個或多個項目的所有元素組織到單個的解決方案中。此文件存儲在父項目目錄中.解決方案文件,他是一個或多個.proj(項目)的集合
*.sln:(Visual Studio.Solution) 通過為環境提供對項目、項目項和解決方案項在磁盤上位置的引用,可將它們組織到解決方案中。
比如是生成Debug模式,還是Release模式,是通用CPU還是專用的等
——————————
經典回顧
? ? ? 因為公眾號平臺更改了推送規則,如果不想錯過內容,記得讀完點一下“贊”和“在看”,這樣每次新文章推送才會第一時間出現在你的訂閱列表里。點擊“贊”和“在看”支持我們吧!
往期推薦
C# WPF框架Caliburn.Micro入門實例1
C# WPF MVVM項目實戰(進階①)
C# WPF MVVM項目實戰(進階②)
C# WPF框架Caliburn.Micro快速搭建
C# WPF項目實戰
C# WPF mvvm模式下combobox綁定(list<enum>、Dictionary<int,string>)
C# WPF MVVM模式下在主窗體顯示子窗體并獲取結果
C# WPF Caliburn.Micro框架下利用Mef加載其它項目界面
C# WPF文本框TextEdit不以科學計數法顯示
C# 通過正則表達式來限制控件輸入有效性
C# datagridview、datagrid、GridControl增加行號
C# =>符號的使用
C# 無意間寫了一段線程死鎖的代碼
C# 看懂這100+行代碼,你就真正入門了(經典)
C# WPF項目實戰(經典)
WPF 如何修改button圓角(經典)
WPF XAML 為項目設置全局樣式
總結
以上是生活随笔為你收集整理的C#中的bin和obj文件夹有什么用?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: kaggle实战:Titanic
- 下一篇: 国内 Top2 高校研一在读,为什么感觉