本篇主要体验:编写C#,IL代码,用"VS2012开发人员命令提示"编译成程序集,并运行程序。
□ C#文件编译为程序集
→在F盘创建as文件夹
→在as文件夹下创建MyClass.cs
→用记事本打开编写如下代码,并保存
using System;
public class MyClass{public static void PrintSth(){Console.WriteLine("Hello");
}}
→打开"VS2012开发人员命令提示",输入如下命令,并按回车
→输入如下命令把MyClass.cs编译成MyClass.dll程序集文件,并按回车
查看F盘下的as文件夹中,多了一个MyClass.dll程序集
□ IL文件编译为程序集
→在as文件夹下创建SecondClass.il
→用记事本打开编写如下代码,并保存
.assembly SecondClassAssembly {}.assembly extern mscorlib {}
.class public SecondClass extends [mscorlib]system.object{.method public static void PrintSth() cil managed{ldstr "hello from IL"
call void [mscorlib]System.Console::WriteLine(string)ret}}
→输入如下命令
→按回车,看到如下界面
查看F盘下的as文件夹中,多了一个SecondClassAssembly.dll程序集
→查看as文件夹下的dll文件,输入如下命令,并按回车
□ 使用程序集运行程序
→在as文件夹下创建MainClass.cs
→用记事本打开编写如下代码,并保存
using System;
class MainClass
{static void Main(){MyClass.PrintSth();}}
→打开"VS2012开发人员命令提示",输入如下命令,并按回车
查看F盘下的as文件夹中,多了一个MainClass.exe程序集
“C#程序集系列”包括:
C#程序集系列01,用记事本编写C#,IL代码,用DOS命令编译程序集,运行程序
C#程序集系列02,使用记事本查看可执行程序集的IL代码
C#程序集系列03,引用多个module
C#程序集系列04,在程序集包含多个module的场景下理解关键字internal
C#程序集系列05,让程序集包含多个module
C#程序集系列06,程序集清单,EXE和DLL的区别
C#程序集系列07,篡改程序集
C#程序集系列08,设置程序集版本
C#程序集系列09,程序集签名
C#程序集系列10,强名称程序集
C#程序集系列11,全局程序集缓存
C#程序集系列12,C#编译器和CLR如何找寻程序集
C#程序集系列13,如何让CLR选择不同版本的程序集
参考资料:
http://www.computersciencevideos.org/ created by Jamie King