.NET DEBUGGING
OOPSOOADSOLIDDPDSSQLXMLFAQ
Module 15 - Compile Time
Source File
Reference of Source Code
Text File Format
File
C# Source File{source}.cs
{source} : C# Source File Name

.cs : C# Source File Extension
To Create C# Source File, CMD@ TYPE NUL > {source}.cs
Code Compilation
Validate Source Code and Generate Executable File
C# Code Compilation
How To
Compile C# Source FileCMD@ csc.exe {source}.cs
csc.exe : Program, C# Command Line Compiler

{source}.cs : C# Source File Name and Extension
Alternatively, CMD@ msbuild.exe {Solution.sln} | {Project.csproj}
Source Code
Instructions for Compiler
Also Known As C# Code
ASCII / Unicode Character Set
C# Source Codeclass MyClass { static void Main() {} }
Use Default : Default Setting
To Specify C# Source Code Version, CMD@ csc.exe /langversion
Project File
Reference of Source and Miscellaneous Files
XML File Format
File
C# Project File{project}.csproj
{project} : C# Project File Name

.csproj : C# Project File Extension
To Create C# Project File, CMD@ TYPE NUL > {project}.csproj
Solution File
Reference of Project and other Files
VS File Format
File
VS Solution File{solution}.sln
{solution} : VS Solution File Name

.sln : VS Solution File Extension
To Create VS Solution File, CMD@ TYPE NUL > {solution}.sln
Executable File
Native and IL Code Instructions, as well as Data and Metadata
PE File Format
File
Executable File{executable}.exe|dll
{executable} : Executable File Name

.exe|dll : Executable File Extension
To Create Executable File, CMD@ csc.exe /target:exe|winexe|library
Native Code
Instructions for Processor
Also Known As Unmanaged Code
CPU Instruction Set
Native / Machine Opcode90 (nop), C3 (ret) etc.
Use anycpu : Default Setting
To Specify Platform Version, CMD@ csc.exe /platform
IL Code
Instructions for CLR
Also Known As Managed Code
CIL Instruction Set
IL / CIL OpcodeOx00 (nop), Ox2A (ret) etc.
No Optimization : Default Setting
To Enable Optimization, CMD@ csc.exe /optimize+
Configuration File
Configuration Settings of Executable
XML File Format
File
Executable CONFIG File{executable}.exe|dll.config
{executable}.exe|dll : Executable File Name and Extension

.config : Executable Configuration File Extension
To Create Executable CONFIG File, CMD@ TYPE NUL > {executable}.exe|dll.config
Program Database File
Debugging Symbols of Executable
MSF File Format
File
Executable PDB File{executable}.pdb
{executable} : Executable File Name and Extension

.pdb : Program Database File Extension
To Create Executable PDB File, CMD@ csc.exe /pdb
Symbol
Instructions for Debugger
Also Known As Private Symbol
Multiple Streams
TPI / DBI etc. Stream0x110e (S_PUB32), 0x1107 (S_CONSTANT) etc.
No Debug Symbol : Default Setting
To Emit Debugging Symbols, CMD@ csc.exe /debug+
Managed Debugging Assistant File
MDA Settings of Executable
Text File Format
File
Executable MDA File{executable}.exe|dll.mda.config
{executable}.exe|dll : Executable File Name and Extension

.mda.config : Executable MDA File Extension
To Create Executable MDA File, CMD@ TYPE NUL > {executable}.exe|dll.mda.config
Initialization File
Control Settings of Executable
Text File Format
File
Executable INI File{executable}.exe|dll.ini
{executable}.exe|dll : Executable File Name and Extension

.ini : Executable Initialization File Extension
To Create Executable INI File, CMD@ TYPE NUL > {executable}.exe|dll.ini
ASCII
American Standard Code for Information Interchange

C#
C Sharp

CIL
Common Intermediate Language

CONFIG
Configuration

CS
C Sharp

CSC
C Sharp Compiler

CSPROJ
C Sharp Project

DBI
Debug Info

DLL
Dynamic Link Library

EXE
Executable

INI
Initialization

IL
Intermediate Language

ISO
International Standardization Organization

MDA
Managed Debugging Assistant

MS
Microsoft

MSF
Multiple Stream Format

NOP
No Operation

NUL
Null

PDB
Program Database

PE
Portable Executable

PUB
Public

RET
Return

SLN
Solution

TPI
Type Info

VS
Visual Studio

WIN
Windows

XML
Extensible Markup Language