What do all this files do? RRS feed

  • Question

  • I have just started to learn VS and C#. I have noticed that when compiling a C# project many different files appear in the project folder, which adds to the confusion for a newbee like me.

    In my project folder (named HelloNET) I have the following:

    App.ico, icon








    The are also folders "bin" and "obj",

    "obj"-folder contains the following:






    "temp"-folder (empty)

    "TempPE"-folder (empty)

    "bin"-folder contains a "debug"-folder that contains the following:



    I have only created a very basic unsignificant application but it resulted in all of the above mentioned files. Could anyone please explain the purpose of each of this files, or post some link to information about the files? Is there for example any difference between the .exe file in the "obj"-folder compaired to the .exe file in the /bin/debug/-folder? 

    Thank you very much any help.




    Tuesday, February 13, 2007 3:34 AM


  • It's great to see newcomers to the C# language! I'll do my best to answer your question step-by-step.

    Project Folder (named HelloNET):
    App.ico - This is the icon which will be displayed when you view the files in Windows. Each application has it's own icon and Visual Studio automatically adds a default icon to each project you create.

    AssemblyInfo.cs - This file contains information about your project, specifically information about its version, language etc. You don't need to modify the contents of this file unless you really need to.

    Form1.cs - This is the main form (Window/Dialog) for your application and is the default one created when you start a new project in Visual Studio. It contains all the code required to make your form look the way you want. It also contains the code which is executed when actions are performed, such as clicking on a button.

    Form1.resx - This file contains the resources used in your project. These can be images, icons, text etc and can be accessed from Project Properties.

    HelloNET.csproj - This is the main project file which tells Visual Studio what kind of project you are building and links to required files used by your project.

    HelloNET.csproj.user - Not sure on this one but I believe it would be similar to the above.

    HelloNET.sln - This is the main Solution file used by Visual Studio. Most projects you create are added to a solution. A solution can contain multiple projects such as DLL files or EXE files which can all be distributed as one application.

    HelloNET.suo - Not sure about this.

    obj Folder:
    HelloNET.exe - This is the exe file from the last time you built your project.

    HelloNET.frmMain1.Resources - A resources file similar to Form1.resx I believe.

    HelloNET.pdb - This file is used when Debugging your application.

    HelloNET.projdata - Not sure on this.

    HelloNET.projdata1 - Not sure on this.

    debug Folder:
    HelloNET.exe - This file is the main executable which is built when you debug the application, hence the debug folder name.

    HelloNET.pdb - This is used by Visual Studio when you are debugging your application (by hitting the F5 key to compile and run).

    If your not sure on what a file does it is probably best to leave it alone. Deleting the wrong file could cause your project to not open in Visual Studio.

    If you want to share files you create then you need to copy files from either the DEBUG folder or from a RELEASE folder which may be created. Other files may also be need when you 'distribute' your application to other users. Check the MSDN documentation for more information.

    Good Luck!
    Tuesday, February 13, 2007 4:08 AM