微软官方的
The PE file you are talking about is the "Portable Executable" format. Almost every EXE and DLL on the Windows platform is formatted in PE format. To answer your question, it's a general format and every assembly generated after compilation of your project will be a PE file. You will have a PE file for every .NET project you compile. You can read more about it here:
And no, not every class in a project results in a new DLL. Every project in a solution will result in a new DLL or Executable.
For PE/.NET file format information, I would suggest reading sections 21-24 of , available all over the web. is also a good book, despite the occasional inaccuracy.
If you want to go further and understand the actual CIL instructions in your assembly, is an excellent book.
If you want to examine your binary files in comfort, may I humbly plug my own program.
Anatomy of a .NET Assembly red-gate上的博客
大概有10篇左右的文章,可以用以下语法,搜索
Anatomy of a .NET Assembly site:https://www.red-gate.com/simple-talk