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

ASP.NET
使用C# 开发掩码输入文本框
点击DataGrid的列标头在DataGrid最后一行显示该列的和
ASP.NET之Web打印-终极解决篇
SQL Server 2000 Reporting Services: 怎样根据用户的语言偏好显示本地化的信息
利用底层键盘钩子拦载任意按键(回调版)
如何禁止调整自定义控件的尺寸?
用VB6.0编写磁盘格式化程序
Aspx中导Excel
ASP.NET组件设计Step by Step(3)
下面真正开始讲事件的内容
如何有效的使用C#读取文件
如何在C#中加载自己编写的动态链接库(DLL)
Managed DirectX 相关(DirectX.Capture Class Library && DirectShow.NET)
XQuery Reference-from w3schools.com
[译]Visual Basic 2005在语言上的增强(十三)显式的数组范围及小结
lucene的首次应用
[VBA]在后台删除工作表后出现的怪问题
VB.NET 数据库查询 [SQL字符串的生成]
JavaScript调用服务器事件
在Window2003上执行System.Diagnostics.Process.GetProcessesByName等方法失败的原因

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 80 ::
收藏到网摘: 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\;