当前位置:主页   - 电脑 - 网站开发 - ASP.Net
CLR笔记:2.生成,打包,部署,管理
来源:网络   作者:   更新时间:2012-02-25
收藏此页】    【字号    】    【打印】    【关闭

  2.1 .NET Framework部署目标

  非.NET程序的问题:

  1.DLL hell

  2.安装复杂。目录分散,注册表,快捷方式

  3.安全性。悄悄下载恶意代码

  2.2 将类型集成到模块中——编译器工具csc

  csc /out:Program.exe /t:exe /r:Mscorlib.dll Program.cs

  由于C#会自动引用Mscorlib.dll,可以省略 /r:Mscorlib.dll

  C#默认生成exe(CUI), 所以/t:exe可以省略;dll(程序集 /t:library)和GUI(可视化应用程序 /t:winexe)时不可以省略

  C#默认编译成Program.exe,所以/out:Program.exe可以省略

  最后精简为:

  csc Program.cs

  如果不希望默认引用Mscorlib.dll,使用/nostdlib开关

  csc /nostdlib Program.cs

  注:/t可以写为/target,/r可以写为/reference

  /reference:指定引用的dll,可以使用完整路径;如果是不完整的,在以下目录依次查找:

  1.工作目录(要编译的cs文件所在)

  2.系统目录(csc.exe所在)

  3./lib开关指定的目录

  4.LIB系统变量指定的目录

  应答文件(Response File)

  包括一系列编译器命令行开关,执行csc时会将其打开,例如MyProject.rsp中有以下文本:

  /out:Program.exe

  /t:exe

  /r:Mscorlib.dll

  那么调用如下:csc @MyProject.rsp Program.cs

  这个应答文件的位置,运行csc命令时,先在当前目录(Program.cs所在)查找;后在系统目录(csc.exe所在)查找,如果都有就以前者为准

  使用/noconfig开关指定忽略rsp文件

  2.3 元数据概述

  3种类别的表:定义表,引用表,清单表

  1.常见的定义表:ModuleDef,TypeDef,MethodDef,FieldDef,ParamDef,PropertyDef,EventDef

其它资源
来源声明

版权与免责声明
1、本站所发布的文章仅供技术交流参考,本站不主张将其做为决策的依据,浏览者可自愿选择采信与否,本站不对因采信这些信息所产生的任何问题负责。
2、本站部分文章来源于网络,其版权为原权利人所有。由于来源之故,有的文章未能获得作者姓名,署“未知”或“佚名”。对于这些文章,有知悉作者姓名的请告知本站,以便及时署名。如果作者要求删除,我们将予以删除。除此之外本站不再承担其它责任。
3、本站部分文章来源于本站原创,本站拥有所有权利。
4、如对本站发布的信息有异议,请联系我们,经本站确认后,将在三个工作日内做出修改或删除处理。
请参阅权责声明