2014-01-31 49 views
2

我想知道.net項目中的.PE文件是什麼,它是否是專門爲我們編譯項目而生成的。 也.PE文件保存彙編的元數據+清單信息。 另外我很困惑的是項目中的每個類都有CLR生成一個.dll。.NET框架中的.PE文件是什麼?

+0

PE =便攜式可執行文件,它是大規模googlible。 –

回答

3

您正在討論的PE文件是「可移植可執行文件」格式。幾乎每個Windows平臺上的EXE和DLL都以PE格式格式化。要回答你的問題,這是一個通用的格式,編譯完成後生成的每個程序集都將是一個PE文件。您將編譯每個.NET項目的PE文件。 您可以在這裏閱讀更多關於它的信息:http://en.wikipedia.org/wiki/Portable_Executable

並且不,項目中的每個類都不會生成新的DLL。解決方案中的每個項目都將生成新的DLL或可執行文件。

+0

這對我來說很重要。解決方案中的每個項目都會生成一個新的DLL或可執行文件。 – NoviceToDotNet

+0

但是.PE文件總是生成,或者它在安裝和部署之後出現? – NoviceToDotNet

+1

編譯項目後生成PE文件。使用Visual Studio時,它將以.EXE或.DLL的格式結束於bin文件夾。 – Vincent

1

元數據存儲在.NET Framework 便攜式可執行文件(PE)文件的一部分中。 爲公共語言運行時編譯程序時,它被轉換爲由以下三部分組成的PE文件。

PE header:PE文件主要部分的索引和入口點的地址 。 MSIL指令:構成代碼的Microsoft中間代碼 語言指令(MSIL)元數據: 元數據表和堆。

Reference

+0

所以清單不同於PE文件。 – NoviceToDotNet