首页 > 编程 > .NET > 正文

[我的ASP.net学习历程]有关于.dll文件的迷惑

2024-07-10 12:56:59
字体:
来源:转载
供稿:网友
刚在写程序的时候碰到了一个问题,原本只是想把所有.cs文件编译成.dll的。(因为从开发以来,都没尝试过所它编译,只是知道有这样的一回事。可能是公司没做要求吧!)(说白了,人懒!^o^)。

好了,话回正题,一开始还真的不知道怎么个编译法,只知道csc这个命令。呵!当在开始->动行->cmd里打上个csc /?的时候,系统却提示什么什么错误!这就怪事了!于是再找,搜索c盘:csc.exe,终于找到了!^o^呵!ok,现在可以编译了!
csc /target:library *.cs
ok,都已经编译了!高兴中ing.................

于是再试试把所有.cs文件都delete了看看可不可以运行!
哦!还真的可以!依然在高兴中ing.................

又突发奇想,看看把刚编译的.dll文件名改一改,系统会出现什么样的错误。
??问题来了!程序运行依然正常!迷惑中ing..........
这让我想到了是不是iis。于是重启一下它。再运行程序。
??怪事,还是可以正常运行!
那再把程序全部转到另一个目录下去看看!
哈哈!终于出错了!但看一下错误!有点晕头了!错误信息是这句:
<authentication mode="windows" />
嗯!那把它改成:<authentication mode="none" />试试!
还是出错!静下想想!..............................
突然明白!原来没设虚拟目录!(自己也狂倒!)
ok,虚拟目录设完成,看看可以运行不!
??怪事依然!程序运行依然正常!
迷惑中,干脆把刚编译的.dll文件删了看看!
??怪事还是一样!程序还是运行很正常!
这到倒是什么回事?难不成是系统读的是生成后的临时dll?ok,那去把.net framework下的所以临时files都delete了看看!进入:d:/winnt/microsoft.net/framework/v1.1.4322/temporary asp.net files删了所有。再运行程序看看!^o^想和应该没问题了吧!
??昏死!程序依然正常运行!
正在迷惑当中,突然想到了vs.net这个东西!于是立马到bin目录里找到在vs.net编译的那个.dll文件!好,删了它看看!再运行!
ok!它终于出错了!
这下才明白过来!原来vs.net在程序调试运编译的时候,它已经把所有的后台程序全封装了!(大家千万别倒下去!^o^)
再试看看此文件封装了什么!于是把所有除.aspx留下别的删除运行!
ok!完全没任何问题!高兴ing..................

突然间,又来了个突发奇想!记得在java和c++中,反编译工具很多!上google搜一搜c#的反编译。哇塞!找来了一个蛮不错的工具.net reflector(老外写的)。下载地址:http://www.aisto.com/roeder/dotnet
玩下此工具!真的蛮牛的!除了可以把入口方法、函数、变量等读出外,还可以把源代码反编译过来!

这里打住了!哇靠一声!再去找下加壳工具看看!^o^
========================
最后附:
要在cmd里把csc命令自动加载,可以在系统盘根目录下的autoexec.bat文件里加入这句:
@echo off
path=d:/winnt/microsoft.net/framework/v1.1.4322/;



发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表