VS2012 C#生成DLL并调用
2014-04-26 16:37
239 查看
1.创建一个C#工程生成DLL
新建->项目->Visual C#->类库->MyMethods
项目建好后,为了理解,将项目中的Class1.cs 文件 重命名为 MySwap.cs,并在其中添加如下代码,代码功能就是交换两个数:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace MyMethods { public class MySwap { public static bool Swap(ref long i, ref long j) { i = i + j; j = i - j; i = i - j; return true; } } }
添加文件MyMaxCD.cs,功能是完成求两个数的最大公约数,代码如下:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace MyMethods { public class MaxCDClass { public static long MaxCD(long i, long j) { long a,b,temp; if(i>j) { a = i; b = j; } else { b = i; a = j; } temp = a % b; while(temp!=0) { a = b; b = temp; temp = a % b; } return b; } } }
然后点击生成解决方案,在项目debug目录下就有生成的dll文件。
2.使用生成的dll
新建->项目->Visual C#->控制台应用程序->UseDll
在program.cs文件中添加如下代码
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using MyMethods; namespace UseDll { class Program { static void Main(string[] args) { if (args.Length != 2) { Console.WriteLine("Usage: MyClient <num1> <num2>"); return; } long num1 = long.Parse(args[0]); long num2 = long.Parse(args[1]); MySwap.Swap(ref num1, ref num2); // 请注意,文件开头的 using 指令使您得以在编译时使用未限定的类名来引用 DLL 方法 Console.WriteLine("The result of swap is num1 = {0} and num2 ={1}", num1, num2); long maxcd = MaxCDClass.MaxCD(num1, num2); Console.WriteLine("The MaxCD of {0} and {1} is {2}", num1, num2, maxcd); } } }
注意代码中要引入using MyMethods;
到此还需要将刚才生成的dll文件引入工程:
UseDLL右键->添加引用->浏览 选择刚才生成的dll所在路径 ok;
在UseDll代码中,因为main函数需要用到参数,VS添加命令参数步骤如下:
UseDll右键->属性->调试->命令行参数 我在这里输入44 33(注意参数之间不需要逗号)
截图如下:
相关文章推荐
- VS2012 C语言dll文件生成和C#调用
- VS2012下如何生成和调用DLL
- C/C++/C#问题记录(一)VS2012编译调用dll项目找不到lib的workaround
- VS2015 编译生成C#的DLL文件,并调用
- C#从零开始——使用VS生成dll并调用
- vs2012 C# 调用 matlab R2014b 编译的dll
- VS环境C#语言中如何生成和调用DLL
- VS环境C#语言中如何生成和调用DLL
- vs2012 C#调用c++ dll 调试跟踪到代码内
- VS2013 c++ 生成和调用DLL动态链接库
- C++和C#对DLL的生成和调用
- 怎么在qt中调用vs中生成的dll
- C#生成基于COM的DLL供VB调用
- VC++ 调用 C#生成DLL的两种方法
- C语言生成DLL供C#调用
- VC++ 调用 C#生成DLL的两种方法
- C# 调用C++生成的dll
- C# 调用 C++生成的Dll
- C#调用C语言生成的DLL示例
- 解决VS 2010/2012 C++ 生成的exe在非编译环境电脑中缺失dll的方法