C#生成DLL文件的方法
本文实例讲述了C#生成DLL文件的方法。分享给大家供大家参考。具体分析如下:
Visual C#生成DLL文件
VisualC、Delphi或者VB等编程语言来编写的DLL文件,在编译完成以后,产生DLL文件已经是一个可以直接供计算机使用的二进制文件。但用Visual C#编译器生成的受管代码虽然也是二进制文件,但不是可以直接供计算机使用的原始代码,实质上是一种中间语言(IL)代码,需要经过"下一代窗口服务"( Next Generation Windows Services,简写为NGWS ) runtime的即时编译器(即JIT)进行编译。
用Visual C#生成的DLL文件已经和以前的DLL文件有了本质上的区别。用Visual C#生成的DLL文件在程序设计中更多的表现为一种类(Class)或者类库(Class Library)。
制作一个组件
1.首先创建一个新类库工程文件
File->New->Project->Visual C# Projects->Class Library。填入工程文件名称,并且选择文件要存放的目录。
2.工程文件
将Class1.cs改名自己要创建的文件名:myDll.cs,并填入代码。
3.生成DLL文件
编译工程文件:csc /target:library /out:myDll.DLL myDll.cs生成组件myDll.dll,该组件会在工程文件的bin\debug目录里,文件扩展名是dll。
测试DLL
1.新建一个控制应用程序
File->New->Project->Visual C# Projects->Console Application。通过这个控制应用程序来测试我们的组件。 2. 为Namespace添加引用
Project->Add reference,浏览到刚才生成的DLL,然后按OK。即将引用加到当前的工程文件的类里。
3.调用myDll命名空间,创建myDll对象,并且调用它的方法和属性
(1)使用namespace:using myDll;
(2)创建myDll对象;
(3)调用方法和属性。
DLL内容:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace DZTT { public class Operate { public int getSum(int a, int b) { return a + b; } } }
使用方法:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using DZTT; namespace TestDll { class Program { static void Main(string[] args) { Operate operate = new Operate(); int c = operate.getSum(10 ,20); Console.WriteLine(c.ToString()); } } }
希望本文所述对大家的C#程序设计有所帮助。
相关推荐
-
c#动态加载卸载DLL的方法
c#中通过反射可以方便的动态加载dll程序集,但是如果你需要对dll进行更新,却发现.net类库没有提供卸载dll程序集的方法.在.net 中,加入了应用程序域的概念,应用程序域是可以卸载的.也就是说,如果需要对动态加载的dll程序集进行更新,可以通过以下方法解决: 新建一个应用程序域,在该应用程序域中动态加载DLL,然后可以卸载掉该应用程序域.该应用程序域被卸载的时候,相关资源也会被回收. 要想这样实现,就要让你程序的currentDomain和新建的newDomain之间进行通信,穿过应用程
-
C++与C#互调dll的实现步骤
本文实例展示了C++与C#互调dll的实现步骤,在进行大型项目共享dll动态链接库中可以用到.具体方法如下: 一.C#调用C++ dll步骤(只能导出方法): 1. c++建立空项目->源文件文件夹中添加cpp文件和函数 2. c++属性设置中,配置类型设置为动态库dll,公共语言运行时支持改为/clr 3. c#引用c++的dll 4. c#声明c++的方法,并添加 DllImport特性 5. c#工程属性设置为:目标平台x86 6. 注意方法的类型匹配 7. 引发PInvokeStackI
-
C#实现动态加载dll的方法
本文实例讲述了C#实现动态加载dll的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: using System; using System.Collections.Generic; using System.Text; using System.Reflection; using System.IO; namespace Alif.CommonAPI.DynamicLoadAssembly { public class AssemblyDynamicLoader<T
-
C#动态加载dll扩展系统功能的方法
本文实例讲述了C#动态加载dll扩展系统功能的方法.分享给大家供大家参考.具体分析如下: 动态加载dll,主要是为了扩展功能,增强灵活性而实现的.主要通过xml配置,来获取所有要动态加载的dll,然后通过反射机制来调用dll中的类及其方法. using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Reflection; using System.Text; u
-
C#生成DLL文件的方法小结
使用csc命令将.cs文件编译成.dll的过程 很多时候,我们需要将.cs文件单独编译成.dll文件, 操作如下: 打开命令窗口->输入cmd到控制台->cd C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322 转到vs.net安装的该目录下->执行csc命令csc /target:library File.cs->在该目录下产生一个对应名字的.dll文件(前提:把.cs文件放到C:\WINDOWS\Microsoft.NET\Framewor
-
C#中事件的动态调用实现方法
本文实例讲述了C#动态调用事件的方法.一般来说,传统的思路是,通过Reflection.EventInfo获得事件的信息,然后使用GetRaiseMethod方法获得事件被触发后调用的方法,再使用MethodInfo.Invoke来调用以实现事件的动态调用. 但是很不幸的,Reflection.EventInfo.GetRaiseMethod方法始终返回null.这是因为,C#编译器在编译并处理由event关键字定义的事件时,根本不会去产生有关RaiseMethod的元数据信息,因此GetRai
-
c# 动态加载dll文件,并实现调用其中的方法(推荐)
以下是测试代码: 新建一个classlibrary,包含两个类class1和class2,这两个类中分别有一个方法,都是返回一个字符串,代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace mydll { public class Class1 { public Class1() { } public string sayhello() { ret
-
C#生成DLL文件的方法
本文实例讲述了C#生成DLL文件的方法.分享给大家供大家参考.具体分析如下: Visual C#生成DLL文件 VisualC.Delphi或者VB等编程语言来编写的DLL文件,在编译完成以后,产生DLL文件已经是一个可以直接供计算机使用的二进制文件.但用Visual C#编译器生成的受管代码虽然也是二进制文件,但不是可以直接供计算机使用的原始代码,实质上是一种中间语言(IL)代码,需要经过"下一代窗口服务"( Next Generation Windows Services,简写为N
-
VS2015 C#生成dll文件的方法(32/64)
下面就为大家分享一下在vs2005中生成dll文件的步骤图文版 新建项目> 模板 > windows > 类库 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ClassLibrary2 { public class Class1 { private int _age; public i
-
手动把asp.net的类生成dll文件的方法
开始->程序->Microsoft Visual Studio 2005->Visual Studio Tools->Visual Studio 2005 命令提示 然后进入你的类目录,比如你的类文件是在E:/test/App_Code下面, 输入如下命令: csc /target:library File.cs 其中file.cs为你的类文件. 然后即可生成同名的dll文件!!! 自定义服务器控件分为两种: 1.一种是用*.aspx代码和*.cs代码编译后生成DLL,再添加引用到
-
C#实现将javascript文件编译成dll文件的方法
本文实例讲述了C#实现将javascript文件编译成dll文件的方法.分享给大家供大家参考,具体如下: 第一步:新建项目 添加js文件 写个测试Function (JScript.js) 单击JS文件属性.将 生成操作 改成嵌入的资源 第二步:在项目文件中添加一个类文件 该 类继承System.Web.UI.WebControl类 并重写控件预呈现的方法 代码如下: public class ClientScript:System.Web.UI.WebControls.WebControl
-
编辑IL文件 修改DLL文件的方法
如:KS.Gantt.DLL 为例 1.使用ILSpy反编译 工具 2.利用ildasm反编译 KS.Gantt.dll 生成IL中间代码 一般会生成 *.il 和*.res 一些其它资源文件 *.resources 3.然后用记事本修改IL文件 4.然后用ilasm编译中间代码,生成新的KS.Gantt.dll 5.在项目中使用 查看效果 破解过程 1 我找到了Gantt 控件的验证的代码 2 利用ildasm反编译 KS.Gantt.dll 3 打开IL文件找到对应的代码然后删除掉 如果不
-
Python运行DLL文件的方法
什么是DLL文件? DLL文件为动态链接库(英语: Dynamic-link library, 缩写为DLL) 它是微软公司在微软视窗操作系统中实现共享函数库概念的一种实现方式 先来阐述一下DLL(Dynamic Linkable Library)的概念,你可以简单的把DLL看成一种仓库,它提供给你一些可以直接拿来用的变量.函数或类.在仓库的发展史上经历了"无库-静态链接库-动态链接库"的时代.静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib中的指
-
asp.net简单生成XML文件的方法
本文实例讲述了asp.net简单生成XML文件的方法.分享给大家供大家参考,具体如下: 方式一:直接使用DataSet SqlConnection conn = new SqlConnection(); conn.ConnectionString = "Server=127.0.0.1;User ID=sa;Password=sa;Database=northwind;Persist Security Info=True"; conn.Open(); SqlDataAdapter da
-
PHP读取CURL模拟登录时生成Cookie文件的方法
本文实例讲述了PHP读取CURL模拟登录时生成Cookie文件的方法.分享给大家供大家参考.具体实现方法如下: 在使用PHP中的CURL模拟登录时会保存一个Cookie文件,例如下面的代码 复制代码 代码如下: $login_url = 'XXX'; $post_fields['email'] = 'XXXX'; $post_fields['password'] = 'XXXX'; $post_fields['origURL'] = 'XXX'; $post_fields['doma
-
python通过openpyxl生成Excel文件的方法
本文实例讲述了python通过openpyxl生成Excel文件的方法.分享给大家供大家参考.具体如下: 使用前请先安装openpyxl: easy_install openpyxl 通过这个模块可以很方便的导出数据到Excel from openpyxl.workbook import Workbook from openpyxl.writer.excel import ExcelWriter from openpyxl.cell import get_column_letter from o
随机推荐
- jfinal与bootstrap的登录跳转实战演习
- Win2008下载 中文版、英文版官方下载地址
- 5个JAVA入门必看的经典实例
- iOS中的UIStepper数值加减器用法指南
- Oracle11.2.0.1如何升级到11.2.0.3 Oracle同版本升级
- asp.net 计划任务管理程序实现,多线程任务加载
- javascript 打字效果的文字特效
- yii2学习教程之5种内置行为类详解
- java的io操作(将字符串写入到txt文件中)
- js实现索引图片切换效果
- python3中set(集合)的语法总结分享
- java servlet过滤器使用示例
- jQuery对指定元素中指定字符串进行替换的方法
- js获取字符串最后一位方法汇总
- linux下source命令使用详解
- mysql 复制记录实现代码
- android组件SwipeRefreshLayout下拉小球式刷新效果
- 老兵新传-各种漏洞的利用和一些搜索参数
- 清除垃圾的VBS文件 自动查找多个盘
- win2003远程退出后系统自动注销问题的解决方法