作者在 2008-10-31 13:53:36 发布以下内容
编写托管的 C# DLL 文件
1. 先要写一个 C# 程序,如下所示:























2.编译成 DLL 文件
从开始菜单中找到"Visual Studio 2005 命令提示"并打开它, 在其中输入命令
csc /nologo /t:library /out:echo.dll echo.cs
即可编译出 echo.dll 文件.
在 VC++2005 中调用
1. 新建工程
在 VC++2005 中新建一个 "Win32 控制台应用程序" 的工程,在向导中把"预编译头"前面的勾去掉,即不使用预编译头, 完成向导. 在这里,我新建的工程名为 MyNet
2.让工程支持 CLR
项目 -> 属性 -> 配置属性 -> 常规 -> 公共语言运行库支持
选择"公共语言运行库支持(/clr)"
3.默认使用非托管的方式
在 stdafx.h 文件中最后一行输入
#pragma unmanaged
4. 主要源程序






























5. 编译
把编译好的 C# DLL 文件 copy 到 MyNet 工程目录中,编译,应该可以顺利通过,生成一个 MyNet.exe 文件。
注意: 由于程序中我引用 dll 是用 #using "echo.dll" , 因此要把 C# DLL 文件 copy 到 MyNet.exe 所在的目录里,这一步要看清楚,否则,会运行不了。
6. 运行
在 _tmain 里的 return 0 那儿设置一个断点,再按 F5 调试运行,将会在 Command 窗口里看到调用 C# DLL 后的结果: