.NET开发十大常用工具软件分享

  • 在.NET开发中我们会用到很多常用软件,本文中所涉及的软件都是作者期间的积累,希望作者的分享可以给你带来帮助。
  •  
    1. 重新写一个类似的控件,此控件只做项目中用到的一些功能,至于其它功能以后再扩展;
    2. 利用ESRI的WebControls控件,去掉对COM的所有引用,因为项目没有使用WebControls控件的任何服务器技术,也就无需COM引用
    1. 打开Reflector工具并且下载了一个FileDisassembler插件,FileDisassembler插件用于输出程序集的反编译结果到文件中。打开Reflector工具,并导入FileDisassembler插件。导入好后加载程序集将反编译结果输出到指定的文件夹中;
    1. 使用VS.NET新建一个项目,根据文件夹结构新建相应的文件夹,导入所有的源文件和资源文件。使用FileDisassembler导出的资源文件为全名称,在实际的项目中必须根据namespace更改资源文件名且必须将“生成操作”更改为“嵌入的资源”,可以使用ILDASM查看metadata来决定资源文件名及所在的文件夹,编译并更改一些错误;
    1. 当编译好后,找到所有与COM有关的内容将其注释掉(因为以前使用过CCW/RCW技术),并做相应的更改,每更改一个class后,编译一次,直到去掉其相关引用为止;
    1. 更改完成后,需要对其进行重构,主要重构以下方面:
    • Rename,因为Reflector工具反编译时其变量名会根据类型来命名,如text1,text2,num1等;
    • 去掉goto语句,如果代码中有swtich语句时,Reflector工具会使用goto语句,严重影响程序逻辑其可读性;
    • Extract Method,将过于长的method执行分解操作;
  •  

    从事.NET开发也有两年多的时间了,期间积累了一些日常工作中常用的软件,在这里和大家分享一下,希望能为大家的日常工作带来便利,以下排名不分先后:

    1. EditPlus(http://www.editplus.com/):文字处理软件

    EditPlus 是一款功能强大的文字处理软件。它可以充分的替换记事本,它也提供网页作家及程序设计师许多强悍的功能。支持 HTML、CSS、PHP、ASP、Perl、C/C++、Java、JavaScript、VBScript 等多种语法的着色显示。程序内嵌网页浏览器,其它功能还包含 FTP 功能、HTML 编辑、URL 突显、自动完成、剪贴文本、行列选择、强大的搜索与替换、多重撤销/重做、拼写检查、自定义快捷键。

    2. NotePad2(http://www.flos-freeware.ch/notepad2.html):文字处理软件

    自定义语法高亮,支持HTML, XML, CSS, JavaScript, VBScript, ASP,PHP, CSS, Perl/CGI,C/C++, C#, Java, VB, Pascal, 汇编, SQL, Python, NSIS,INI, REG, INF, BAT,DIFF等众多脚本文件。支持ANSI,Unicode,UTF-8等编码互换。可以设置无限个书签(9种图标可换)轻松定位。 空格,制表符彩色显示,并可互相转换。可以对任意的文本块进行操作,ALT键+鼠标。对括号{}〔〕()可以高亮配对显示,方便查看(仅对英文符号有效)。可以自定义代码页和字符集,对中文支持良好。使用标准的正则表达式搜索和替换。可以使用半透明模式,cool。快速放大、缩小页面,不用再设定字体大小。可以指定ESC键最小化Notepad2到系统托盘或者关闭Notepad2

    3. FastStone Screen Capture(http://www.faststone.org):截图软件

    FastStone Screen Capture (FSCapture) 是一款免费的图像浏览、编辑和抓屏工具,支持包括BMP, JPEG, JPEG 2000, GIF, PNG, PCX, TIFF, WMF, ICO 和TGA在内的所有主流图片格式,其独有的光滑和毛刺处理技术让图片更加清晰,提供缩放、旋转、减切、颜色调整功能。只要点点鼠标就能随心抓取屏幕上的任何东西,拖放支持可以直接从系统、浏览器或其他程序中导入图片,收藏夹功能让你能更好的从eNet收集更多精彩图片。

    4. Beyond Compare(http://www.scootersoftware.com/download.php):文件比较软件

    Beyond Compare 是一款优秀的文件及文件夹对比工具,程序内建了文件浏览器,方便您针对文件、文件夹、压缩包、FTP网站之间的差异对比及资料同步。

    5. Dependency Walker(http://www.dependencywalker.com/):在实际应用中,我常常利用该软件判断系统中少了哪些必要的DLL组件。

    Dependency Walker 是 Microsoft Visual C++ 中提供的非常有用的 PE 模块依赖性分析工具。主要功能如下:查看 PE 模块的导入模块;查看 PE 模块的导入和导出函数;动态剖析 PE 模块的模块依赖性;解析 C++ 函数名称。

    6. .NET Reflector(http://www.red-gate.com/products/reflector/):反编译器

    .NET Reflector是一个类浏览器和反编译器,利用反射机制来分析程序集,以展示程序集中各种类型及其成员的信息。

    7. Snippet Compiler(http://www.sliver.com/dotnet/SnippetCompiler/):

    Snippet Compiler 是一个基于 Windows的小型应用程序,您可以通过它来编写、编译和运行代码。如果您具有较小的代码段,并且您不希望为其创建完整的 Visual Studio .NET 项目(以及伴随该项目的所有文件),则该工具将很有用。

    8. SQL Delta(http://www.sqldelta.com/):数据库同步工具

    虽说VS2008也有同样的功能,但用惯了SQL Delta,就基本没有使用VS2008自带的数据库同步功能了。

    SQL Delta结合了数据库的结构比较和数据比较功能,使得SQL Delta成为市场上最有价值的数据库比较工具。现在只需点几下鼠标,就可以同步数据库的概要和数据,而且不需要运行Query Analyser来检查结果。SQL Delta也为数据库带来了更容易阅读的表格,能快速统计区别。通过减少在大型文件中查找变量带来的卷动需求使得操作变得简单。

    9. SyncToy(http://www.microsoft.com/downloads/details.aspx?FamilyId=E0FC1154-C975-4814-9649-CCE41AF06EB7&displaylang=en):文件同步工具

    它可以让您的文件在不同的磁盘和文件夹中保持同步并且可以随意处理,甚至可以输入UNC以处理网络驱动器上的文件和任何设备上的信息。

    10. IE Developer Tool Bar & Firefox + Firebug:脚本调试工具、DOM浏览工具等等,应该是每个搞WEB的必备工具。PS:IE8中内置的IE Developer Tool Bar功能和之前的版本比较,有显著的提高,但还是略显不足啊。

     

     

     

    .net常用工具

    ildasm:反编译.net程序;
          ilasm:编译il代码;
          Reflector:查看.net程序源码、程序集间的依赖关系;
          Xenocode Fox 2007:由.net程序生成.net工程;
          PEBrowseDbg:动态调试.net程序;
          WinDbg,OlleyDbg:调试分析程序;
          MASMPlus:查看编写编译汇编代码;
          DebugTrack:跟踪程序调试信息;
          eXeScope,PE Explorer:查看PE文件,修改程序资源;
          Code Smith:代码生成;
          Dis#:.net流程反混淆工具;
          CFF Explorer:.net PE文件查看器;
          CLRProfiler:.net分析工具;
          DNGRuard1.0:.net程序集加密工具;
          keymake:注册机,内存补丁;
          Stud_PE:查看、学习PE文件;
          IEDevToolBar:查看IE各标签属性;
          WatiN:Web项目自动化测试;
          antlr:解释器生成器;
          injectReflector:查看.net内存中IL代码;
          PEID:辨别程序开发语言;
          Log Explorer for SQL Serverv:SQL Server恢复误删数据;
          SnippetCompiler:简单代码编译;

     

     

    早就听说Reflector这个强大的类库分析与反编译工具,不过一直没有很好的利用起来。最近使用Reflector解决了一个实际开发问题,现将其总结出来。

     

    需求导入:项目是一个GIS项目,在项目中使用到了ESRI公司的Application Development Framework中的一个WebControls控件,此控件的功能过于复杂,并且引用到了ArcGIS Server的很多COM组件。由于项目根本就没有使用ADF的任何服务器技术,但是也不得不跟着引用一些COM组件,更麻烦的是还得安装ADF(此组件可是有将近200M的庞然大物)。

    项目经理需要我解决这种问题并且必须尽快解决,我当时也相应的考虑到了两个方案:

     

    由于时间有限,所以决定采用第二种方案,一开始使用ILDASM分析了Web Server控件的一些类,发现过于类过于庞大。偶然想起了Reflector工具(我以前使用过Reflector工具分析过源代码,不过好久没用),以下是整个解决过程:

     

    Reflector下载地址:http://www.aisto.com/roeder/dotnet 下载时必须输入用户名和Email地址,用户名中必须有空格;

    FileDisassembler插件的下载地址:http://www.denisbauer.com/

     

     

     

     

    当重构完成后,应用到项目中,并更改相应的Register语句,test,run,结果是successful,从而也在最短的时间内完成

      

     

    最近由于需要反编译一些C#写的程序,早就听说功能极为强大的反编译工具,Reflector。
          我用的版本是4.1.84.0,感觉用起来很爽,以后弄到的几个很好用的DLL,我都反编译,并弄出
    源码了,为我省了不少工夫啊,反编译出来的除了定义的变量名不一样外,其余的简直是一模一样。
    围绕它开发的插件也很多,用着真是开心!我还找到一个插件可以把
    源码导出到文件!更是爽!不过这个软件还不支持Unicode ,需要自己写一个转化程序,两个搭配起来用极爽!
         有兴趣的朋友也下载一个玩玩吧~ 哈哈! 由于使用过于简单,就不介绍软件使用了~
         下载地址
        
    http://www.aisto.com/roeder/dotnet/Download.aspx?File=Reflector

    另外再提供一些Reflector的相关插件下载,enjoy!!!!

     

    Reflector.FileDisassembler
    This add-in can be used to dump the disassembler output to files for any Reflector supported language.
    Website Download

     

    Reflector.CodeMetrics
    Analyses .NET assemblies and shows design quality metrics. The menu item is registered under the "Tools" menu.
    Website Download

     

    Reflector.SQL2005Browser
    This add-in allows to browse .NET assemblies stored in SQL Server 2005 (Yukon) databases.
    Website Download

     

    Reflector.DelphiLanguage
    The Delphi view that is used inside .NET Reflector provided as a language add-in.
    Website Download

     

    Reflector.McppLanguage
    This add-in extends Reflector with a Managed C++ language rendering module.
    Website Download

     

    Reflector.ChromeLanguage
    This add-in extends Reflector with a Chrome language rendering module.
    Website Download

     

    Reflector.Diff
    This add-in shows differences between two versions of the same assembly.
    Website Download

     

    Reflector.VisualStudio
    This program is hosting .NET Reflector inside the Visual Studio 2003 IDE. Run Reflector.VisualStudio.exe to register the add-in with Visual Studio.
    Website Download

     

    Reflector.ClassView
    Shows class definitions as plain text with color coding. The menu item is registered under the "Tools" menu.
    Website Download

     

    Reflector.CodeModelView
    This add-in shows the underlying code model objects for a selected node in .NET Reflector. The menu item is registered under the "Tools" menu.
    Website Download

     

    Reflector.FileGenerator
    This add-in can be used to dump the disassembler output to files for any Reflector supported language.
    Download

     

    Reflector.Graph
    This add-in draws assembly dependency graphs and IL graphs.
    Website Download

     

    Reflector.OpenRunningAssembly
    Opens an assembly or dependency from a process running on the system. The menu item is registered under the "Tools" menu.
    Website Download


    插件FileGenerator 使用方法:
    最开始下载了FileGenerator插件不知如何使用,后来经过摸索,还是学会使用了,所以拿来和大家分享。

     

    FileGenerator插件的作用是:根据dll文件,把里面的源文件导出成文件,导出来的文件除了没有注释,变量名也变了,其它的可谓是没有 差别。对于一些比较好的控件,如果不是开源的,完全可以导出成文件,然后自己加上注释,少许修改,很好的利用起来。(不开源的dll,用起来也不放心啊)

    先根据上面的地址下载FileGenerator并解压缩,然后运行Reflector.exe,然后点击View->Add- Ins...,弹出一个窗口,然后点击Add->选择FileGenerator里面的唯一一个dll文件: "FileGenerator.dll",点击close.
    然后回到Reflector窗口,Tool->Generator File(s)... 右边就出现了插件的窗口,选中左边的dll文件,点击右边的导出文件,源代码就全部导出来了,真是爽啊!

    转自 http://www.programbbs.com/doc/5302.htm


          UltraEdit、EditPlus、NotePad:文本编辑、查看;
          RegExTool:正则表达式测试;
          Beyond Compare:文本比较。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值