zoukankan      html  css  js  c++  java
  • Visual C#生成DLL文件

    C#-----如何用Visual C#生成DLL文件,然后使用reflector将dll还原

    Visual C#生成DLL文件——预备知识 

    DLL(Dynamic Link Library)文件即动态链接库文件,是一种可执行文件,允许程序共享执行特殊任务所必需的代码和其他资源。多数情况下带有dll扩展名(也可以是.ocx文件:ActiveX控件文件,.cpl文件:控制面板文件,.drv文件:设备驱动程序文件等),向运行于Windows操作系统下的程序提供代码、数据或函数。

    使用DLL的一些好处:

    使用较少的资源;

    推广模块式体系结构;

    简化部署和安装。      

    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)。 

    Visual C#生成DLL文件——制作一个组件

    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。

    Visual C#生成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)调用方法和属性。

    到相关页面下载Reflector.zip和Reflector.FileDisassembler.zip(插件)

    1双击Reflector.exe完成安装

    2打开reflector,在view 菜单下的add-ins 中找到插件的dll,即Reflector.FileDisassembler.dll

    3File->open 打开你要还原的dll文件的位置,选中该dll ,点击菜单栏中Tool->File disassemble ,如想换还原后的文件的位置可在右边的地址框中直接输入,一切默认的话,就点generate

    第二次操作可点击View->Refresh然后重复刚才的操作

  • 相关阅读:
    OO设计精要:封装,还是封装(有感于“Why getter and setter methods are evil ”by Allen Holub )
    博客园建议:能否记住在博客园的首页上只显示标题
    戴尔国际英语
    C#代码契约(转)
    C#数组传递和返回
    SecureString
    里氏替换原则
    ASP.NET的Cache(转)
    WCF服务
    C#枚举中的位运算权限分配
  • 原文地址:https://www.cnblogs.com/forever2698/p/2864091.html
Copyright © 2011-2022 走看看