.net源码里的dll(net项目源码)
本文目录一览:
- 1、在.net中通过代码引用的dll,这种dll属于什么dll,如何建立这样的dll,是不是新建类库?如图:
- 2、如何保护.net中的dll文件
- 3、asp.net中生成的BLL.dll、DAL.dll、Model.dll都有什么作用?
- 4、C# .net 下载了个.dll的文件,怎么用啊?
- 5、.net 生成的dll文件是什么?与window下一般的动态链接库文件有什么区别?内部包含了什么?有何特性?
在.net中通过代码引用的dll,这种dll属于什么dll,如何建立这样的dll,是不是新建类库?如图:
新建类库创建的是.NET的类库,其中和.NET的应用程序一样的结构,这个是COM组件,是.NET之前在Windows中使用的技术。创建类库项目后在项目属性里》应用程序》程序集信息》使程序集COM可见。
如何保护.net中的dll文件
.net是一种建立在虚拟机上执行的语言,它直接生成 MSIL 的中间语言,再由.net编译器 JIT 解释映象为本机代码并交付CPU执行。中间语言很容易被反编译,所以研究下如何有效的保护dll文件。 我大致的方法为 :强签名+混淆+加密。 强签名 强命名程序集,可以确保你的程序集唯一,而不被篡改、冒用等;即使相同名字的程序集如果签名也会不同。 强签名很简单,本站另一文章已经详细进行了讲解,请参考: 注:未签名的主程序可以引用已签名或未签名的程序集;而已签名的主程序不能引用未签名的程序集。(上述文章有相应解决办法) 混淆 混淆就是对编译生成的MSIL中间代码进行模糊处理,最简单的混淆是名称混淆,即将 命名空间名、类名、方法名、字段名等统统换成特殊符号或其它符号,目的就是让人看到晕为止,但是并不改变程序执行逻辑。 我这里使用的Dotfuscator进行混淆。 Dotfuscator混淆方法: 1.创建新工程; 2.选择要混淆的dll、exe文件; 3.在属性里选择Library属性(很重要,因为我这里要混淆的是dll文件,如果不选中,混淆后将不能被正确调用!),如下图所示: 4.选择bulid标签,点击bulid按钮进行混淆。 我们也可以选择其它标签进行加密字符串、增加水印等操作,我这里加密工作用另外的方法,所以没有选择操作。 OK,混淆完成后,我们可以用Reflector.exe来反编译下混淆后的dll文件,可以对比源码看下效果。 加密 接下来我们继续对混淆过的dll文件进行加密处理,进一步保护dll文件。 我使用的加密工具是MaxtoCode。 打开软件后,切换到中文,可以看到非常简单,添加上dll文件后,直接点击执行加密就可以。其他选项比如:加密字符串、强名称等都很简单,大家一试就知道,而且MaxtoCode的帮助做的非常友好,一看就会使用。 加密后的dll文件比先前大了一倍,用Reflector.exe反编译后,发现dll文件加密的更彻底,因为主体函数内容都隐藏了。 通过以上三步,使您的dll文件可免于一般人的破解,当然,不可能绝对防止被破解。
asp.net中生成的BLL.dll、DAL.dll、Model.dll都有什么作用?
这是ASP.NET的最基本三层框架,能够很好的实现面向对象编程思想。
其中 BLL.dll 是业务逻辑层,用户在页面上处理所有的业务(即功能)的总和包,让你调用的时候只需调用方法名,而不用写重复的使用方法;
DALdll 是数据链路层,这层中,就要将你页面上要实现和数据库传值、取值相关的方法写进去了,并进行封装,这样不仅能够保证SQL代码不在页面上显示,保证了数据库的安全,也对你理解应用面向对象的编程思想有更充分的理解;
Model.dll 这层就是存放跟方法相关的一些模型,在使用DAL.dll调用Model层的时候,肯定会涉及到一些重复的关键字,只用通过Model层某个关键字(如 id)到底属于谁的,才能够正确的操作数据库。
不同版本的.netframework生成的文件大体是差不多的,不过还是有些区别,但是你写的BLL.dll,DAL.dll,Model.dll,不管你在VS什么版本上编译,都可以运行。
C# .net 下载了个.dll的文件,怎么用啊?
在项目的引用里,添加引用,浏览找到该dll文件,然后再代码里使用using把该dll文件的命名空间加入,就可以使用该dll里定义的类了
.net 生成的dll文件是什么?与window下一般的动态链接库文件有什么区别?内部包含了什么?有何特性?
以C#开发的程序为例:以cs结尾的类库文件编译过后就会变成相应的dll文件,当你部署项目的时候,这些dll文件就会被复制到相关位置,程序运行时会自动去调用dll文件。dll跟Windows的一样,是动态链接库,如果少了这些dll文件,那么你部署的项目就无法正常运行。我们部署时,当然不会跟用户源代码,编译成dll文件,用户也是无法打开查看的。