Microsoft .NET

April 11th, 2013

Microsoft patterns & practices

Save time and reduce risk on your software development projects by incorporating patterns & practices, Microsoft’s applied engineering guidance that includes both production quality source code and documentation. (Homepage and Codeplex)

Recommendations (MSDN) on how to design and develop custom applications using the Microsoft platform.

patterns & practices offerings are organized in the MSDN Library into the following categories:

  • Solution Development Fundamentals
  • Cloud Development
  • Desktop Development
  • Phone Development
  • Services Development
  • Web Development
  • The Web Client Guidance program from patterns & practices assists developers and architects with the design, development, and deployment of rich, responsive, modular, Web applications using the .NET Framework and other Microsoft technologies.
Enterprise Library Contrib Project (EntLib Contrib) is a community-developed library of extensions to the patterns & practices Enterprise Library.

Solution Development Fundamentals

Solution development fundamentals cover the cross-cutting aspects of solution development, such as security, caching, data access, validation, exception management, and so on. It also includes application architecture, development process, the software development life cycle (SDLC), and application life cycle guidance. You will find guidance and patterns that are generally applicable to solution development regardless of the specific architecture or scenario.

MVVM

.NET

  • Pure C++ Hello, C++/CLI – C++/CLI is a self-contained, component-based dynamic programming language that, like C# or Java, is derived from C++. In fact, you can look at it as a natural step in the evolution of C. Stanley Lippman, who was there from the beginning, provides some insight.
  • To write traditional GUI applications using Microsoft .NET you’ll use Windows Forms. These video training sessions detail what Windows Forms are all about.
  • These video training sessions provide some great launch points to creating your own WPF applications.
  • ILNumerics.Net – the .NET library for numerical computations
  • PInvoke.net is primarily a wiki, allowing developers to find, edit and add PInvoke* signatures, user-defined types, and any other information related to calling Win32 and other unmanaged APIs from managed code (written in languages such as C# or VB.NET). The article describes the P/Invoke Library Visual Studio add-in.

.NET – ASP.NET MVC

.NET – Mono

  • MonoDevelop is a cross-platform IDE primarily designed for C# and other .NET languages. MonoDevelop enables developers to quickly write desktop and ASP.NET Web applications on Linux, Windows and Mac OSX. MonoDevelop makes it easy for developers to port .NET applications created with Visual Studio to Linux and Mac OSX maintaining a single code base for all platforms.
  • MonoMac, a new foundation for building Cocoa applications on OSX using Mono.
  • MonoDroid is a development stack for using C# and core .NET APIs to develop Android-based applications.

.NET – Language – C#

.NET – Language – F#

  • Microsoft F# Developer Center
  • Try F# – F# is ideal for data-rich, concurrent and algorithmic development: “simple code to solve complex problems”. F# is a simple and pragmatic programming language combining functional, object-oriented and scripting programming, and supports cross-platform environments including PC, Mac, and Linux. We’ll provide the tutorials, resources and tools you’ll need to begin working with F# right away.
  • F# Snippets – This web site allows you to easily share F# source code snippets. It is similar to other Pastebin services, but focuses only on F#. On the other hand, it uses the F# language service to provide colorization and also generates HTML tool tips that show results of background type checking. This makes the F# code significantly more readable.
  • Wiki-book “F# Programming

Libraries – UI

  • VisualStyler.net skins winforms applications using any Microsoft Visual Style, without having to depend on a themed platform such as Windows XP.
  • MSDN: The Visual F# product provides support for developing F# applications and extending other .NET Framework applications by using F# code. F# is a first-class member of the .NET Framework languages and retains a strong resemblance to the ML family of functional languages.
  • Krypton – Krypton Toolkit (Free Windows Forms Controls), Krypton Ribbon (Office Style Ribbon), Krypton Docking (Visual Studio 2010 Style Docking), Krypton Workspace (Moving Beyond Tabbed MDI), Krypton Navigator (The Ultimate Tab Control)
  • DotNetBar Suite for Windows Forms (DevComponents) is toolbox of 75 stunning components for creating professional user interface with ease. For over 10 years DotNetBar is helping developers like you create sleek professional Windows Forms (WinForms) user interfaces with unparalleled ease.
  • PFGrid Toolkit .NET: Grid- and TreeList-control, Metro UI Winforms-controls, Outlook-like Navigation-control, Vista-and Outlook-style Buttons, Collapsible Splitters, Custom panels and many more.
  • VARCHART XGantt – Interactive Gantt Chart – A Gantt chart can be an eye-catcher as well as an intuitive and useful planning tool for your users. Benefit from the clear-cut and the comprehensive display of tasks in a Gantt chart.
  • Pure Components .NET WinForms Suite is a complete set of enterprise quality components in the .NET WinForms market with 80 innovative controls including LightGrid, RichCalendar, GridCalendar, RibbonUI, TreeView, VisualExtender and many more.
  • DevExpress
  • BCGControlBar Library for .NET is 100% managed code toolkit which is written in C++/CLI and targeting Microsoft .NET Framework version 2.0 or higher. The library contains a number of highly customizable, fully designable components that enable you to create the most sophisticated user interface. The library includes fully-customizable Office 2000/XP/2003/2007-style toolbars and menus, VS 2005/2008/2010-style docking bars, Office 2007/2010-style ribbons, auto hide control bars, MDI tabs, flexible visualization managers and more.
  • CodePlex WPF controls
  • MoonUI — молочно-голубая тема для WPF (github)

Libraries – SQL

  • System.Data.SQLite is the original SQLite database engine and a complete ADO.NET 2.0/3.5 provider all rolled into a single mixed mode assembly.

Libraries – Web

  • The Google Data APIs (GData) provide a simple protocol for reading and writing data on the web.
  • Facebook C# SDK – helps .Net developers build web, desktop, phone and Windows 8 applications that integrate with Facebook.

Tools – SDK

  • ILMerge is a utility for merging multiple .NET assemblies into a single .NET assembly. It works on executables and DLLs alike and comes with several options for controlling the processing and format of the output. See the accompanying documentation for details.
  • IlPad (codeproject)

Tools – IDE

  • #develop (short for SharpDevelop) is a free IDE for C#, VB.NET and Boo projects on Microsoft’s .NET platform
  • ReSharper – developer productivity tool for Microsoft Visual Studio

Tools – Obfuscators

  • .NET Reactor (Eziriz) is a powerful .NET code protection & licensing system which assists developers in protecting their .NET software.
  • Babel.NET – protect software components realized with Microsoft .NET Framework in order to protect intellectual property and makes reverse engineering difficult.
  • Inquartos Obfuscator (rus) – Software intended for protection and optimization of the applications, based on .NET Framework.  Main features: Effective obfuscation and protection .NET assembly from re-engineering, Complete integration with Visual Studio 2005/2008, Introduction in a protected product of technologies of licensing, Support of technology ClickOnce, Presence free-of-charge functions.
  • Inquartos “NetObf Protector” (rus) – free and easy-to-use utility providing basic protection functions and high degree of automation of used procedures obfuscation. Main features: Renaming of classes, methods, fields in a set of not displayed symbols, Encryption of lines, Join assembly, Addition to the project protected asembly by their simple dragging from an explorer Windows.
  • Eazfuscator.NET is a free obfuscator for .NET platform. The main purpose of obfuscator is to protect intellectual property of the software.

Tools – Profilers

  • The CLR Profiler includes a number of very useful views of the allocation profile, including a histogram of allocated types, allocation and call graphs, a time line showing GCs of various generations and the resulting state of the managed heap after those collections, and a call tree showing per-method allocations and assembly loads.
  • FxCop is an application that analyzes managed code assemblies (code that targets the .NET Framework common language runtime) and reports information about the assemblies, such as possible design, localization, performance, and security improvements.
  • Code Analysis tools (including FxCop), samples and power toys.
  • The Windows SDK includes a suite of performance profiling tools for Windows Presentation Foundation (WPF) applications called the WPF Performance Suite. The WPF Performance Suite enables you to analyze the run-time behavior of your WPF applications and determine performance optimizations that you can apply. The WPF Performance Suite includes performance profiling tools called Perforator and Visual Profiler. This topic describes how to install and use the Perforator and Visual Profiler tools in the WPF Performance Suite.
  • Performance Analysis of Logs (PAL) Tool – ever have a performance problem, but don’t know what performance counters to collect or how to analyze them? The PAL (Performance Analysis of Logs) tool is a powerful tool that reads in a performance monitor counter log and analyzes it using known thresholds.

Tools – Debug

  • Hawkeye – The .Net Runtime Object Editor. Hawkeye is the only .Net tool that allows you to view, edit, analyze and invoke (almost) any object from a .Net application. Whenever you try to debug, test, change or understand an application, Hawkeye can help. With a unique option to Attach to any running .Net process, Hawkeye offers an impressive set of functionalities seen in no other product.

Tools – Reflector

  • .NET Reflector – browse, analyze, decompile and debug .NET code
  • This site lists add-ins for .NET Reflector. After downloading one of the add-ins copy the files to the same directory as ‘Reflector.exe’ and load them via the ‘Add-Ins’ command under the ‘View’ menu.

Tools – Testing

  • Microsoft UI Automation is the new accessibility framework for Microsoft Windows, available on all operating systems that support Windows Presentation Foundation (WPF). UI Automation provides programmatic access to most user interface (UI) elements on the desktop, enabling assistive technology products such as screen readers to provide information about the UI to end users and to manipulate the UI by means other than standard input. UI Automation also allows automated test scripts to interact with the UI.
  • xUnit.net is a unit testing tool for the .NET Framework. Written by the original inventor of NUnit, xUnit.net is the latest technology for unit testing C#, F#, VB.NET and other .NET languages. Works with ReSharper, CodeRush, and TestDriven.NET.
  • NUnit is a unit-testing framework for all .Net languages. Initially ported from JUnit, the current production release, version 2.5, is the sixth major release of this xUnit based unit testing tool for Microsoft .NET. It is written entirely in C# and has been completely redesigned to take advantage of many .NET language features, for example custom attributes and other reflection related capabilities. NUnit brings xUnit to all .NET languages.

Tools – Utilities

  • NuGet is a free, open source developer focused package management system for the .NET platform intent on simplifying the process of incorporating third party libraries into a .NET application during development. NuGet is a member of the ASP.NET Gallery in the Outercurve Foundation (see the press release).

Tools – Online Services

Tools – Help

  • Sandcastle Help File Builder – created by Microsoft, is a tool used for creating MSDN-style documentation from .NET assemblies and their associated XML comments files. The current version is the June 2010 release. It is command line based and has no GUI front-end, project management features, or an automated build process like those that you can find in NDoc. The Sandcastle Help File Builder was created to fill in the gaps, provide the missing NDoc-like features that are used most often, and provide graphical and command line based tools to build a help file in an automated fashion.

Tools

MSDN

Documentation – Slideshare

Books

Articles

Comments are closed.