天天看點

.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:文本比較。

繼續閱讀