您的位置:首页 > 编程语言 > C#

《CLR Via C#》 C# Compiler

2016-03-21 11:04 615 查看

1、CSC.exe的存放位置

如果想要使用C# Compiler,只要在命令提示符(command prompt)中输入csc.exe就可以了。csc.exe的路径在C:\Windows\Microsoft.NET\Framework64\v4.0.30319下。(注意,我的电脑的操作系统是64位。)
You can invoke the C# compiler by typing the name of its executable file (csc.exe) at a command prompt. The csc.exe executable file usually is located in the Microsoft.NET\Framework\Version folder under the Windows directory.




如果使用Visul Studio Command Prompt的命令提示符,一些“环境变量”会帮你设置好,就不需要自己再进行设置了。
If you use the Visual Studio Command Prompt window, all the necessary environment variables are set for you.

如果你使用标准的cmd.exe文件,就需要自己设置一下,可以参考“How to: Set Environment Variables for the Visual Studio Command Line”地址:https://msdn.microsoft.com/zh-cn/library/1700bbwd.aspx

2、C# Compiler的一些示例

Compiles File.cs producing File.exe:

csc File.cs

Compiles File.cs producing File.dll:

csc /target:library File.cs

Compiles File.cs and creates My.exe:

csc /out:My.exe File.cs

Compiles all the C# files in the current directory, with optimizations on and defines the DEBUG symbol.The output is File2.exe:

csc /define:DEBUG /optimize /out:File2.exe *.cs

Compiles all the C# files in the current directory producing a debug version of File2.dll.No logo and no warnings are displayed:

csc /target:library /out:File2.dll /warn:0 /nologo /debug *.cs

Compiles all the C# files in the current directory to Something.xyz (a DLL):

csc /target:library /out:Something.xyz *.cs


3、C# Compiler Options Listed Alphabetically

参考网址:
C# Compiler Options Listed Alphabetically
C# Compiler Options Listed by Category

Option
Purpose
@
Reads a response file for more options.
/?
Displays a usage message to stdout.
/additionalfile
Names additional files that don't directly affect code generation but may be used by analyzers for producing errors or warnings.
/addmodule
Links the specified modules into this assembly
/analyzer
Run the analyzers from this assembly (Short form: /a)
/appconfig
Specifies the location of app.config at assembly binding time.
/baseaddress
Specifies the base address for the library to be built.
/bugreport
Creates a 'Bug Report' file.This file will be sent together with any crash information if it is used with /errorreport:prompt or /errorreport:send.
/checked
Causes the compiler to generate overflow checks.
/checksumalgorithm:<alg>
Specify the algorithm for calculating the source file checksum stored in PDB.Supported values are: SHA1 (default) or SHA256.
/codepage
Specifies the codepage to use when opening source files.
/debug
Emits debugging information.
/define
Defines conditional compilation symbols.
/delaysign
Delay-signs the assembly by using only the public part of the strong name key.
/doc
Specifies an XML Documentation file to generate.
/errorreport
Specifies how to handle internal compiler errors: prompt, send, or none.The default is none.
/filealign
Specifies the alignment used for output file sections.
/fullpaths
Causes the compiler to generate fully qualified paths.
/help
Displays a usage message to stdout.
/highentropyva
Specifies that high entropy ASLR is supported.
/incremental
Enables incremental compilation [obsolete].
/keycontainer
Specifies a strong name key container.
/keyfile
Specifies a strong name key file.
/langversion:<string>
Specify language version mode: ISO-1, ISO-2, 3, 4, 5, 6, or Default
/lib
Specifies additional directories in which to search for references.
/link
Makes COM type information in specified assemblies available to the project.
/linkresource
Links the specified resource to this assembly.
/main
Specifies the type that contains the entry point (ignore all other possible entry points).
/moduleassemblyname
Specifies an assembly whose non-public types a .netmodule can access.
/modulename:<string>
Specify the name of the source module
/noconfig
Instructs the compiler not to auto include CSC.RSP file.
/nologo
Suppresses compiler copyright message.
/nostdlib
Instructs the compiler not to reference standard library (mscorlib.dll).
/nowarn
Disables specific warning messages
/nowin32manifest
Instructs the compiler not to embed an application manifest in the executable file.
/optimize
Enables/disables optimizations.
/out
Specifies the output file name (default: base name of file with main class or first file).
/parallel[+|-]
Specifies whether to use concurrent build (+).
/pdb
Specifies the file name and location of the .pdb file.
/platform
Limits which platforms this code can run on: x86, Itanium, x64, anycpu, or anycpu32bitpreferred.The default is anycpu.
/preferreduilang
Specifies the language to be used for compiler output.
/recurse
Includes all files in the current directory and subdirectories according to the wildcard specifications.
/reference
References metadata from the specified assembly files.
/resource
Embeds the specified resource.
/ruleset:<file>
Specify a ruleset file that disables specific diagnostics.
/subsystemversion
Specifies the minimum version of the subsystem that the executable file can use.
/target
Specifies the format of the output file by using one of four options:/target:appcontainerexe, /target:exe, /target:library, /target:module, /target:winexe, /target:winmdobj.
/unsafe
Allows unsafe code.
/utf8output
Outputs compiler messages in UTF-8 encoding.
/warn
Sets the warning level (0-4).
/warnaserror
Reports specific warnings as errors.
/win32icon
Uses this icon for the output.
/win32manifest
Specifies a custom win32 manifest file.
/win32res
Specifies the win32 resource file (.res).
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C# Compiler CSC