首页 > 其他 > 详细

第一部分 CLR基础:第2章 生成、打包、部署和管理应用程序及类型

时间:2014-02-18 07:45:55      阅读:417      评论:0      收藏:0      [点我收藏+]

2.1.NET Framework部署目标

Microsoft Windows多年来因不稳定和复杂而口碑不佳。
造成的原因:
1.应用程序都使用来自微软和厂商的动态链接库(dynamic-link library,DLL),可能互相会干扰破坏。
2.安装的复杂性:应用程序安装需要将文件复制到目录、更新注册表、创建快捷方式。不能轻松将应用程序转移到另一天电脑,也无法保证卸载干净。
3.安全性:程序可能后台操作一些用户不希望发生的动作,比如下载,执行危险操作等。

附注:
.NET Framew正尝试解决DLL hell的问题,但目前快捷方式的问题还不能解决。安全性上,.NET Framework包含一个名为“代码访问安全性”(code access security)的安全模式,可以让用户很好的控制应用程序的权限。

 

2.2将类型生成到模块中

简单示例代码:

public sealed class Programe{
  public static void Main(){
    System.Console.WriteLine("Hi");
  }
}


解释:System.Console是微软已经实现好的类型,IL代码存储在MSCorLib.dll文件中。
命令执行:
csc.exe /out.Program.exe /t:exe /r:MSCorLib.dll Program.cs
生成名为Program的
/out:Programe.exe 可执行文件
/t[target]:exe Win32控制台应用程序类型
/r[reference]:MSCorLib.dll开关:告知编译器引用类型的位置,使之能解析。
/t:exe 控制台界面(console user interface,CUI)
/t:winexe图形界面(graphical user interface,GUI)

MSCorLib.dll包含了所有核心类型:Byte,Char,String,Int32等等,C#编译器会自动默认引用。也可以通过/nostdlib开关来禁止引用。
故上面代码可简化为:
csc.exe /out.Program.exe /t:exe Program.cs

另外,/out.Program.exe /t:exe为C#编译器默认设定,继续简化为:
csc.exe Program.cs

生成的Programe.exe文件的实质:
是标准的PE(可移植执行体,Portable Executable)文件。

响应文件:
响应文件是包含一组编译器命令开关的文本文件。执行CSC.exe时,编译器会打开响应文件,使用其中的所有开关。
假如响应文件MyProject.rsp:
/out:MyProject.exe
/target:winexe
让CSC.exe使用这些设置,可以如下调用:
csc.exe @MyProject.rsp CodeFile1.cs CodeFile2.cs

bubuko.com,布布扣

bubuko.com,布布扣

bubuko.com,布布扣

bubuko.com,布布扣

bubuko.com,布布扣

bubuko.com,布布扣

第一部分 CLR基础:第2章 生成、打包、部署和管理应用程序及类型

原文:http://www.cnblogs.com/zxx193/p/3552671.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!