当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > 我的ASP.net学习历程有关于.dll文件的迷惑

ASP.NET
使用NUnit进行单元测试
[FxCop.设计规则]1. 抽象类不应该拥有构造函数
遍历XML文档返回二维数组(ASP)(更新版)
c#中的interface abstract与virtual
[VB.NET] Single & Double
asp.net验证码生成类(参考)
JAVA开发者应该去的20个英文网站 [摘]
C#中关于GDI+输出的问题
XML 命名空间提供了一种避免元素命名冲突的方法。
VS.NET 2005 Beta 2初体验(3)—操作SQL Mobile数据库
VS.NET 2005 Beta 2初体验(1)-用C#开发Managed代码
VS.NET 2005 Beta 2初体验(2)-用C++开发Native代码
VS.NET 2005 Beta2初体验(4)-Notification控件
XmlHttp异步获取网站数据的例子
利用C#编写一个简单的抓网页应用程序
C#中结构与类的区别
在.NET中实现彩色光标,动画光标和自定义光标
C#2.0新特性探究之模拟泛型和内置算法
C#2.0 新特性探究之委托与匿名委托
获取本机的本地上网IP地址

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 102 ::
收藏到网摘: n/a


刚在写程序的时候碰到了一个问题,原本只是想把所有.cs文件编译成.dll的。(因为从开发以来,都没尝试过所它编译,只是知道有这样的一回事。可能是公司没做要求吧!)(说白了,人懒!^o^)。
好了,话回正题,一开始还真的不知道怎么个编译法,只知道csc这个命令。呵!当在开始->动行->cmd里打上个csc /?的时候,系统却提示什么什么错误!这就怪事了!于是再找,搜索C盘:csc.exe,终于找到了!^o^呵!OK,现在可以编译了!
csc /target:library *.cs
OK,都已经编译了!高兴中ing.................
于是再试试把所有.cs文件都delete了看看可不可以运行!
哦!还真的可以!依然在高兴中ing.................
又突发奇想,看看把刚编译的.dll文件名改一改,系统会出现什么样的错误。
??问题来了!程序运行依然正常!迷惑中ing..........
这让我想到了是不是IIS。于是重启一下它。再运行程序。
??怪事,还是可以正常运行!
那再把程序全部转到另一个目录下去看看!
哈哈!终于出错了!但看一下错误!有点晕头了!错误信息是这句:

嗯!那把它改成:试试!
还是出错!静下想想!..............................
突然明白!原来没设虚拟目录!(自己也狂倒!)
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 offpath=d:\WINNT\Microsoft.NET\Framework\v1.1.4322\;