Hello and Welcome to the .NET Shelf of Adventures.
This will be a collection of articles, stories and experiments in .NET. Hope you enjoy reading these as much as i enjoy writing these.
Without much Ado, let us go on our first adventure.
Adventure #1: Explore C# Compiler Options
.NET Framework SDK ships with a lot of tools and compilers for languages. C# is one of the .NET programming languages. I shall go ahead and see what the C# compiler has to offer me.
Let me bring up Visual Studio Command Prompt. It's easier to work with this command prompt, than the standard cmd prompt, as all environment variables in the Visual Studio Command Prompt are already setup.
By the way, this is year 2010, and although everybody is eagerly waiting for VS2010 and all it's awesome features, i shall be happy with the 2008 version of Visual Studio for all my experiments will be on this version.
I shall be working on different Windows versions(XP, Vista, May be Win 7) although it should not be an issue.
Let me open up the Visual Studio Command prompt.
Start>All Programs>Microsoft Visual Studio 2008> Visual Studio Tools> Visual Studio Command Prompt
Here, i issue this command csc /?
Notes:
- Visual Studio has a command prompt tool that makes my life easier as all the .NET Framework environment variables are already set here.
- csc.exe is the C# compiler.
- csc.exe /? emits out a lot of options, switches that i can use.
- I can capture the switch options by issuing such a command csc /? >> cscoptions.txt
Microsoft (R) Visual C# 2008 Compiler version 3.5.30729.1
for Microsoft (R) .NET Framework version 3.5
Copyright (C) Microsoft Corporation. All rights reserved.
Visual C# 2008 Compiler Options
- OUTPUT FILES -
/out:
/target:exe Build a console executable (default) (Short form: /t:exe)
/target:winexe Build a Windows executable (Short form: /t:winexe)
/target:library Build a library (Short form: /t:library)
/target:module Build a module that can be added to another assembly (Short form: /t:module)
/delaysign[+|-] Delay-sign the assembly using only the public portion of the strong name key
/doc:
/keyfile:
/keycontainer:
/platform:
- INPUT FILES -
/recurse:
/reference:
/reference:
/addmodule:
- RESOURCES -
/win32res:
/win32icon:
/win32manifest:
/nowin32manifest Do not include the default Win32 manifest
/resource:
/linkresource:
Where the resinfo format is
- CODE GENERATION -
/debug[+|-] Emit debugging information
/debug:{full|pdbonly} Specify debugging type ('full' is default, and enables attaching a debugger to a running program)
/optimize[+|-] Enable optimizations (Short form: /o)
- ERRORS AND WARNINGS -
/warnaserror[+|-] Report all warnings as errors
/warnaserror[+|-]:
/warn:
/nowarn:
- LANGUAGE -
/checked[+|-] Generate overflow checks
/unsafe[+|-] Allow 'unsafe' code
/define:
/langversion:
- MISCELLANEOUS -
@
/help Display this usage message (Short form: /?)
/nologo Suppress compiler copyright message
/noconfig Do not auto include CSC.RSP file
- ADVANCED -
/baseaddress:
Base address for the library to be built
/bugreport:
/codepage:
/utf8output Output compiler messages in UTF-8 encoding
/main:
/fullpaths Compiler generates fully qualified paths
/filealign:
/pdb:
/nostdlib[+|-] Do not reference standard library (mscorlib.dll)
/lib:
/errorreport:
/moduleassemblyname:
Adventure: Explore the C# compiler options was fascinating, at least for me.
Cool guys, Adios! until our next adventure.
No comments:
Post a Comment