《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.
![](http://s3.51cto.com/wyfs02/M02/7D/C1/wKiom1bvYneDdyDgAADaYNJzKFY952.png)
如果使用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#调用COM组件
- C#实现把指定数据写入串口
- C#动态创建button的方法
- C#中抽象方法与虚拟方法的区别
- c#中虚函数的相关使用方法
- C#实现给图片加水印的方法
- C#使用加边法计算行列式的值
- C#实现多线程的同步方法实例分析
- C#中尾递归的使用、优化及编译器优化
- C#中的delegate委托类型基本学习教程
- C#实现子窗体与父窗体通信方法实例总结
- C#通用邮件发送类分享
- 举例讲解C#中自动实现的属性
- C#中this的用法集锦
- C#数据结构之顺序表(SeqList)实例详解
- C#.NET获取拨号连接的宽带连接方法
- C#异步绑定数据实现方法
- C#实现AddRange为数组添加多个元素的方法
- C#中Equality和Identity浅析
- C#比较二个数组并找出相同或不同元素的方法