代码改变世界

《C#完全手册》中提到的一些内部工具及编译选项

2008-08-15 13:09  老博客哈  阅读(1412)  评论(0编辑  收藏  举报
一、 内部工具
.Net 为使用与开发人员提供了功能强大、种类丰富的管理与开发工具,同时他们也是.Net框架提供的服务,我们将它们列在下面,正是由于有了它们的支持.Net才变得如此强大:
1. Visual Studio.NET: .NET的核心开发工具,包括微软提供的各种开发语言
2. Assembly Generation Utility (al.exe): 用来建立集合的工具。它能够将资源文件或MSIL格式的文件转换为带有内容清单的集合。
3. Windows Forms ActiveX Control Importer (aximp.exe): 完成COM类库中类型定义的转换,是ActiveX控件能够在Windows窗口控件中使用。
4. Code Access Security Policy Utility (caspol.exe) 在用户与机器水平上修改安全策略。
5. Software Publisher Certificate Test Utility (Cert2spc.exe): 用于从X.509证书中生成软件出版说明书(SPC)。
6. Certificate Manager Utility (certmgr.exe): 管理证书、证书信任列表和证书回收列表。
7. Certificate Verification Utility (chktrust.exe): 检查证书签名的合法性。
8. Runtime Debugger (cordbg.exe): 运行时调试器,是一个命令行程序,帮助开发人员发现和调试基于CLR的应用程序中的错误。
9. Global Assembly Cache Utility (gacutil.exe): 允许浏览与操纵全局集合缓存中的程序。
10. MSIL Assembler (ilasm.exe): MSIL汇编程序,协助设计与实现MSIL生成器的程序。
11. MSIL Disassembler (ildasm.exe): MSIL反汇编程序,与ilasm.exe共同使用,将由MSIL代码产生的Portable Executable 文件转换为文本文件。
12. Installer Utility (installutil.exe): 用来安装与卸载服务资源。
13. License Compiler (lc.exe): 产生课包含在可执行二进制文件中的二进制资源文件。
14. Certificate Creation Utility (makecert.exe): 生成X.509证书与用于数字签名的公用与私有密钥。
15. Permissions View Utility (permview.exe): 通过一个集合浏览许可集的工具。
16. Peverify Utility (peverify.exe): 检查中间语言与原数据是否符合类型安全认证要求。
17. Assembly Registration Tool (RegAsm.exe): 读取集合中的元数据并加上必要注册表入口信息,使用COM客户透明地建立CLR的类。
18. Services Registration Tool (RegSvcs.exe): 服务注册工具,它完成执行以下功能:装载与注册一个集合,为现有的COM+1.0应用生成、注册与安装类库。
19. Resource File Generator Utility (ResGen.exe): 资源文件生成器,用来将文本文件和XML格式的资源文件转换为CLR的二进制文件。
20. Secutil Utility(SecUtil.exe): 使得从集合中抽取的安全信息更加容易。
21. Set Registry Utility(setreg.exe): 改变注册表中公开密钥密码系统的设置。
22. Assembly Cache Viewer (shfusion.dll): 允许你使用Windows 浏览器查看与操作全局集合缓存中的内容。
23. File Signing Utility (signcode.exe): 为PE(portable executable)文件做标记。赋予程序员在组件安全约束的基础上对安全性有更多的控制权。
24. Shared Name Utility (Sn.exe): 帮助程序员以共享名称建立集合。
25. Soapsuds Utility (SoapSuds.exe): 使用远程技术帮助你编译与Web服务相通信的客户应用。
26. Isolated Storage Utility(storeadm.exe): 一种用来管理隔离存储区的命令行工具。
27. Type Library Exporter(TlbExp.exe): 命令行程序,生成由集合名称指示的包含集合中公共类型定义的类库。
28. Type Library Importer (TlbImp.exe): 将COM类库中的类型定义转换为在CLR中与元数据格式一致的类型定义。
29. Web Service Utility (WebServiceUtil.exe): 帮助建立在ASP.NET Web服务与客户。
30. Windows Forms Class Viewer (wincv.exe): 能够在某种模式下快速查找类或者类序列的信息。
31. Windows Forms Designer Test Container (windes.exe): 允许开发人员测试开发出来的视窗窗体控件在设计时的行为。
32. XML Schema Definition Tool (xsd.exe): XML计划定义工具。

二、C#编译选项
    我们可以灵活地使用.Net平台提供的命令行编译器的不同选项,选择不同的编译方式,从而灵活地对编译进行控制。
    例如,如果我们希望对源文件Welcome.cs进行编译,生成名为MyWelcome.exe的可执行文件,我们可以采用这样的命令:
csc/out:    MyWelcome.exe    Welcome.cs
    如果我们并不需要一个可执行文件,而仅仅是希望简单地检查源文件中是否存在语法错误,则命令可以写成:
csc/nooutput:  Welcome.cs
    如果不知道各个选项的具体含义,可以通过求助来获得:
csc/?
     下标按照字母顺序给出了命令行编译器csc常用的参数及其用途。更加详细的信息参阅C#联机帮助文档。
选项 用途

@

读取响应文件以获得更多选项。

/?

将用法信息显示到 stdout。

/addmodule

将指定的模块链接到此程序集中

/baseaddress

指定要生成的库的基址。

/bugreport

创建“Bug 报告”文件。如果与 /errorreport:prompt 或 /errorreport:send 一起使用,则此文件将与任何崩溃信息一起发送。

/checked

使编译器生成溢出检查。

/codepage

指定打开源文件时使用的代码页。

/debug

发出调试信息。

/define

定义条件编译符号。

/delaysign

仅使用强名称密钥的公共部分对程序集进行延迟签名。

/doc

指定要生成的 XML 文档文件。

/errorreport

指定如何处理内部编译器错误:prompt、send 或 none。默认值为 none。

/filealign

指定对输出文件节使用的对齐方式。

/fullpaths

使编译器生成完全限定路径。

/help

将用法信息显示到 stdout。

/incremental

启用增量编译 [obsolete]。

/keycontainer

指定强名称密钥容器。

/keyfile

指定强名称密钥文件。

/langversion

指定语言版本模式:ISO-1 或 Default。

/lib

指定要在其中搜索引用的附加目录。

/linkresource

将指定的资源链接到此程序集。

/main

指定包含入口点的类型(忽略所有其他可能的入口点)。

/noconfig

指示编译器不自动包含 CSC.RSP 文件。

/nologo

取消显示编译器版权信息。

/nostdlib

指示编译器不引用标准库 (mscorlib.dll)。

/nowarn

禁用特定的警告消息

/optimize

启用/禁用优化。

/out

指定输出文件名(默认值:包含主类的文件或第一个文件的基名称)。

/pdb

指定 .pdb 文件的文件名和位置。

/platform

限定此代码可以在其上运行的平台:x86、Itanium、x64 或 anycpu。默认值为 anycpu。

/recurse

按照通配符规范,包括当前目录和子目录中的所有文件。

/reference

从指定的程序集文件引用元数据。

/resource

嵌入指定的资源。

/target

使用下列四个选项之一指定输出文件的格式:/target:exe/target:library/target:module/target:winexe

/unsafe

允许使用不安全代码。

/utf8output

以 UTF-8 编码格式输出编译器消息。

/warn

设置警告等级 (0-4)。

/warnaserror

将特定的警告报告为错误。

/win32icon

对输出使用此图标。

/win32res

指定 Win32 资源文件 (.res)。