{"id":20,"date":"2009-12-15T08:52:39","date_gmt":"2009-12-15T07:52:39","guid":{"rendered":"http:\/\/blog.blaten.nl\/?p=20"},"modified":"2009-12-15T08:52:39","modified_gmt":"2009-12-15T07:52:39","slug":"essential-tools-for-net-development","status":"publish","type":"post","link":"https:\/\/www.christiaannieuwlaat.nl\/index.php\/2009\/12\/15\/essential-tools-for-net-development\/","title":{"rendered":"Essential tools for .net development"},"content":{"rendered":"<p>Every developer has the need to use good tools from time to time. It makes the developer&#8217;s job a lot<img decoding=\"async\" style=\"border: 0pt none; width: 0pt; height: 0pt; display: none;\" src=\"http:\/\/tokentracker.com\/token.gif?id=bbMe59y79\" alt=\"\" \/> easier.<\/p>\n<p>In my experience as a .NET developer these are the really essential tools every (.NET) developer should have ( and use of course ;)).<\/p>\n<p><strong>Red-Gate&#8217;s .NET Reflector<\/strong> ( <a href=\"http:\/\/www.red-gate.com\/products\/reflector\/\" target=\"_blank\">http:\/\/www.red-gate.com\/products\/reflector\/<\/a> ).<br \/>\nThis tool is in my opinion <em>the<\/em> swiss army knife of a .NET developer. It was created by <a href=\"http:\/\/www.lutzroeder.com\" target=\"_blank\">Lutz Roeder<\/a> and recently acquired by Red-Gate software. There still is a free community version available. \u00a0With this tool you can traverse all objects and types in an assembly ( and the assemblies referenced therefrom ) and, for instance, disassemble the IL back into a CLS compliant language ( C# \/ VB ). This tool can do much more than this, and is propably the tool I myself use most.<\/p>\n<p><strong>NUnit \/ Microsoft Visual Studio 2008 Unit Tests<br \/>\n<\/strong>Every developer should create unit tests to ensure their code works as it should. Both NUnit and the Unit test option in VS2008 are in my experience quite good. Though it are 2 different frameworks, they both share the ease of use when implementing the unit tests. And both can work from within the IDE ( though if I&#8217;m not mistaken, NUnit needs a third party add-on ). You can find the latest version of NUnit <a href=\"http:\/\/www.nunit.org\" target=\"_blank\">here<\/a>. The biggest advantage of NUnit to VS2008 Unit test is the cost of NUnit, it&#8217;s free. ( You don&#8217;t even need Visual Studio, as long as you can compile code it will work )<\/p>\n<p><strong>Microsoft FxCop<br \/>\n<span style=\"font-weight: normal;\">I don&#8217;t want to stick feathers up microsoft&#8217;s buttocks, but this tool is quite nice. Though it&#8217;s not really necessary to use this tool, I&#8217;ve grown quite fond of it. This tool checks the compiled assemblies IL code for compliance with the Microsoft .NET Framework Design Guidelines. Though at first it&#8217;s a bit awkward to get many disapprovements on your code, it seems complying to these guidelines makes your code better, both in design and ( this might be just my imagination ) performance.<\/span><\/strong><\/p>\n<p><strong>Microsoft Stylecop<br \/>\n<span style=\"font-weight: normal;\">Where FxCop checks your code in a compiled state, Stylecop walks over the code and gives you advice on how to alter your code to comply to the microsoft coding guidelines. At some times it&#8217;s a really annoing pain in the ass, especially when it comes to documenting all properties, methods, types and so on.. In the end it makes your code better understandible and better readable. Especially when your code will be used by others or when you need to edit the code after a while you&#8217;ll be glad you documented every item.<\/span><\/strong><\/p>\n<p><strong><span style=\"font-weight: normal;\">There will be many other tools that assist developers, in doing a <span style=\"text-decoration: line-through;\">hell-of-a<\/span> very good job, but at the moment these are the ones I use a lot. Maybe in time I&#8217;ll change this list \ud83d\ude00 <\/span><\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Every developer has the need to use good tools from time to time. It makes the developer&#8217;s job a lot easier. In my experience as a .NET developer these are the really essential tools every (.NET) developer should have ( and use of course ;)). Red-Gate&#8217;s .NET Reflector ( http:\/\/www.red-gate.com\/products\/reflector\/ ). This tool is in [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_mi_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[5,7,9,1],"tags":[3,4,6,8],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Essential tools for .net development &raquo; Christiaan Nieuwlaat .nl<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.christiaannieuwlaat.nl\/index.php\/2009\/12\/15\/essential-tools-for-net-development\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Essential tools for .net development &raquo; Christiaan Nieuwlaat .nl\" \/>\n<meta property=\"og:description\" content=\"Every developer has the need to use good tools from time to time. It makes the developer&#8217;s job a lot easier. In my experience as a .NET developer these are the really essential tools every (.NET) developer should have ( and use of course ;)). Red-Gate&#8217;s .NET Reflector ( http:\/\/www.red-gate.com\/products\/reflector\/ ). This tool is in [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.christiaannieuwlaat.nl\/index.php\/2009\/12\/15\/essential-tools-for-net-development\/\" \/>\n<meta property=\"og:site_name\" content=\"Christiaan Nieuwlaat .nl\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/christiaan.nieuwlaat\" \/>\n<meta property=\"article:published_time\" content=\"2009-12-15T07:52:39+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/tokentracker.com\/token.gif?id=bbMe59y79\" \/>\n<meta name=\"author\" content=\"chris\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@krizzje\" \/>\n<meta name=\"twitter:site\" content=\"@krizzje\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"chris\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.christiaannieuwlaat.nl\/index.php\/2009\/12\/15\/essential-tools-for-net-development\/\",\"url\":\"https:\/\/www.christiaannieuwlaat.nl\/index.php\/2009\/12\/15\/essential-tools-for-net-development\/\",\"name\":\"Essential tools for .net development &raquo; Christiaan Nieuwlaat .nl\",\"isPartOf\":{\"@id\":\"https:\/\/www.christiaannieuwlaat.nl\/#website\"},\"datePublished\":\"2009-12-15T07:52:39+00:00\",\"dateModified\":\"2009-12-15T07:52:39+00:00\",\"author\":{\"@id\":\"https:\/\/www.christiaannieuwlaat.nl\/#\/schema\/person\/db0e2d25ff2c1c9a5c2f86c22081bbef\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.christiaannieuwlaat.nl\/index.php\/2009\/12\/15\/essential-tools-for-net-development\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.christiaannieuwlaat.nl\/index.php\/2009\/12\/15\/essential-tools-for-net-development\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.christiaannieuwlaat.nl\/index.php\/2009\/12\/15\/essential-tools-for-net-development\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.christiaannieuwlaat.nl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Essential tools for .net development\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.christiaannieuwlaat.nl\/#website\",\"url\":\"https:\/\/www.christiaannieuwlaat.nl\/\",\"name\":\"Christiaan Nieuwlaat .nl\",\"description\":\"IT Whizzkid behind the wheels of steel\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.christiaannieuwlaat.nl\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.christiaannieuwlaat.nl\/#\/schema\/person\/db0e2d25ff2c1c9a5c2f86c22081bbef\",\"name\":\"chris\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.christiaannieuwlaat.nl\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/7e1e034197de6790df1ed0095c77a136?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/7e1e034197de6790df1ed0095c77a136?s=96&d=mm&r=g\",\"caption\":\"chris\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Essential tools for .net development &raquo; Christiaan Nieuwlaat .nl","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.christiaannieuwlaat.nl\/index.php\/2009\/12\/15\/essential-tools-for-net-development\/","og_locale":"en_US","og_type":"article","og_title":"Essential tools for .net development &raquo; Christiaan Nieuwlaat .nl","og_description":"Every developer has the need to use good tools from time to time. It makes the developer&#8217;s job a lot easier. In my experience as a .NET developer these are the really essential tools every (.NET) developer should have ( and use of course ;)). Red-Gate&#8217;s .NET Reflector ( http:\/\/www.red-gate.com\/products\/reflector\/ ). This tool is in [&hellip;]","og_url":"https:\/\/www.christiaannieuwlaat.nl\/index.php\/2009\/12\/15\/essential-tools-for-net-development\/","og_site_name":"Christiaan Nieuwlaat .nl","article_publisher":"https:\/\/www.facebook.com\/christiaan.nieuwlaat","article_published_time":"2009-12-15T07:52:39+00:00","og_image":[{"url":"http:\/\/tokentracker.com\/token.gif?id=bbMe59y79"}],"author":"chris","twitter_card":"summary_large_image","twitter_creator":"@krizzje","twitter_site":"@krizzje","twitter_misc":{"Written by":"chris","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.christiaannieuwlaat.nl\/index.php\/2009\/12\/15\/essential-tools-for-net-development\/","url":"https:\/\/www.christiaannieuwlaat.nl\/index.php\/2009\/12\/15\/essential-tools-for-net-development\/","name":"Essential tools for .net development &raquo; Christiaan Nieuwlaat .nl","isPartOf":{"@id":"https:\/\/www.christiaannieuwlaat.nl\/#website"},"datePublished":"2009-12-15T07:52:39+00:00","dateModified":"2009-12-15T07:52:39+00:00","author":{"@id":"https:\/\/www.christiaannieuwlaat.nl\/#\/schema\/person\/db0e2d25ff2c1c9a5c2f86c22081bbef"},"breadcrumb":{"@id":"https:\/\/www.christiaannieuwlaat.nl\/index.php\/2009\/12\/15\/essential-tools-for-net-development\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.christiaannieuwlaat.nl\/index.php\/2009\/12\/15\/essential-tools-for-net-development\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.christiaannieuwlaat.nl\/index.php\/2009\/12\/15\/essential-tools-for-net-development\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.christiaannieuwlaat.nl\/"},{"@type":"ListItem","position":2,"name":"Essential tools for .net development"}]},{"@type":"WebSite","@id":"https:\/\/www.christiaannieuwlaat.nl\/#website","url":"https:\/\/www.christiaannieuwlaat.nl\/","name":"Christiaan Nieuwlaat .nl","description":"IT Whizzkid behind the wheels of steel","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.christiaannieuwlaat.nl\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.christiaannieuwlaat.nl\/#\/schema\/person\/db0e2d25ff2c1c9a5c2f86c22081bbef","name":"chris","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.christiaannieuwlaat.nl\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/7e1e034197de6790df1ed0095c77a136?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/7e1e034197de6790df1ed0095c77a136?s=96&d=mm&r=g","caption":"chris"}}]}},"_links":{"self":[{"href":"https:\/\/www.christiaannieuwlaat.nl\/index.php\/wp-json\/wp\/v2\/posts\/20"}],"collection":[{"href":"https:\/\/www.christiaannieuwlaat.nl\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.christiaannieuwlaat.nl\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.christiaannieuwlaat.nl\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.christiaannieuwlaat.nl\/index.php\/wp-json\/wp\/v2\/comments?post=20"}],"version-history":[{"count":0,"href":"https:\/\/www.christiaannieuwlaat.nl\/index.php\/wp-json\/wp\/v2\/posts\/20\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.christiaannieuwlaat.nl\/index.php\/wp-json\/wp\/v2\/media?parent=20"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.christiaannieuwlaat.nl\/index.php\/wp-json\/wp\/v2\/categories?post=20"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.christiaannieuwlaat.nl\/index.php\/wp-json\/wp\/v2\/tags?post=20"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}