Voice from the field

Tags: Tools

Wrench and Hammer

February 11 2016

Here is a set of tools which must-read for all developers. Just save it here with link to examples and documentation. Please do not blame me if you unable to find here your favorite tool. I am an-old-school-guy and prefer verified instruments.

Installation command start with "PM>" for Nuget packages need to be run from Package Manager Console of Visual Studio. Here is an example of installing log4net

However, you may prefer Nuget Manager. Just fund a package provided with the same name.

 

Ok. Here I go with a Wrench & Hammer list:

 

Developing Tools


    Visual Studio

      Well-known IDE for Windows developers. V 2015 version recommended

      Download and install from MSDN subscription or free community edition.

    VS code

      For Web MVC projects with cross platform requirements.

      Download free

    Xamarin

      For cross platform requirements projects iOS/Android/Windows.

      Download free

 

Packaging/Installers


    Install project

      Extension, which is help to create MSI installer for your binaries, has options of verifying pre-requirements, registry, and files. Removed since VS 2010 install project.

      Download from gallery.

 

Data Connectivity


    Entity Framework

      Integrated in most VS templates data connection framework. Supports many DB technologies.

      Good for code-first and Model-First scenario.

      Issues: Chatty. Need provide conflict resolution in case of concurrent connection from other customer's app

      Code first, Model first, Database First examples.

      Installation: PM> Install-Package EntityFramework

 

    Linq2SQL

      Microsoft developed Lightweight framework for simple data structures. Recommended for Code-First scenario.

      Issues: Dropped since VS 2010.

      Examples.

      Installation: Download form msdn site.

 

    NHibernate

      Lightweight framework for simple code first modeling. Easy to use and config. Support most of the DB technologies.  

      Documentation

      Installation: MP> Install-Package NHibernate

 

Logging


    Enterprise Library

      Highly recommended for adoption framework that is consist of logging, configuration, exception handling, IoC assemblies. Logging configures from the *.config and has no issues with Event Sources on target machine.

      Documentation and examples for logging.

      Installation for logging: PM> Install-Package EnterpriseLibrary.Logging

 

    Log4Net

      Lightweight and popular logging framework to help the programmer output log statements to a variety of output targets.

      Documentation.

      Installation for logging: PM> Install-Package log4net

 

Testing/Unit


    MS Unit Testing framework

      Library for building automation test. MSTest.exe - Tool to run automated tests. Can be execute from VS interface.

      Info and Attributes

      Installation: No packages installation, part of the Test Project in VS.

 

    NUnit

      Popular framework for running and creation automated tests.

      Examples

      Installation: PM> Install-Package NUnit

 

Testing/Mocking


    Moq

      Lightweight and popular Mock framework for mocking objects and interfaces.

      Issues: No private method testing.

      Examples

      Installation: PM> Install-Package Moq

 

    MS Test Mock

      Microsoft testing framework for mocking objects and interfaces. The framework can access to the private methods throw the assessors.

      Mocking Examples, Assessors  

      Installation: No packages installation, part of the Test Project in VS.

 

Web API


    Swagger / Swashbuckle

      Colorful framework for building live documentation for you Web API. Provide way of testing API operation from standalone Jscript UI page. Integrated to the MVC template and available for other as Nuget package.

      Documentation

      Installation: MP> Install-Package Swashbuckle

 

Windows Automation


    PowerShell reference assemblies

      Assemblies available for exact version of PowerShell (v3, v4 and v5) for development and testing cmdlets. For debugging, you need to provide following command to make your VS run automation code:

      Powershell.exe -noexit -command "&{ import-module .\[your project assembly] -verbose}

      Documentation

      Installation: PM> Install-Package Microsoft.PowerShell.5.ReferenceAssemblies

 

    Windows Management Framework

      Set of the tools and assemblies for building and testing PowerShell related tech DSC and etc.

      Download

 

MS Exchange


    Exchange Web Services (EWS)

      Client-side assemblies for connection to Exchange server trough Web protocols.

      Library can be accessible by Nuget Package or installed with SDK

      Documentation

      Installation: PM> Install-Package Microsoft.Exchange.WebServices

 

HTML parsing


    Html Agility Pack

      Library for parsing and converting HTML to XML to make advantage of DOM mode for navigate through the tags. LINQ queries and XPath queries are supported.   

      Documentation download Help file from project page. Example.

      Installation: PM> Install-Package HtmlAgilityPack

 

    Tidy, TidyManaged

      Lightweight tool for cleanup and parse HTML documents. Extremely fast.

      It has also option of converting to XML with XDocument and Xpath further processing.

      Issue: Build on C++ and CPU architecture related. Nuget contains only "x86" version

      Documentation, old-school examples or download builds from legacy site.

      Installation: PM> Install-Package TidyNetPortable

 

Diagnostics


    Visual Studio Application Insights

      Set of the Nuget packages and settings, which is, make your app send diagnostic date in Azure and then provide you nice reports and charts, collect exception and trace, measure page load times from users of your web app.

      Get Started

      Installation:  Part of the VS. Activate for project.