Microsoft .NET
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.
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.
.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 – Mono
- 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#
- MSDN: The C# Language (This section provides a quick tour of the C# language)
- C# Station Tutorial
.NET – Language – F#
Libraries – UI
- DevExpress
- DevComponents - DotNetBar
- 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)
- Infragistics - offerings for smart clients chiefly target Windows Forms and WPF on the .NET platform. For applications facing the Web, we have ASP.NET AJAX-enabled, Microsoft ASP.NET 2.0 AJAX Extension 1.0-friendly, Rich Internet Application controls for ASP.NET 2.0, 3.5, and 4.0, WPF and Silverlight data visualization controls, and Silverlight UI controls for line-of-business development.
- 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.
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.
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.
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 – Online Services
- Toolbox .net code converter (Convert C# to VB.NET, Convert VB.NET to C#)
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
- Snippet Compiler compiles snippets.
MSDN
- System.Windows.Forms Namespace
- C++ Language Reference
- Binding
- BindingSource Class
- Behind the Scenes: Improvements to Windows Forms Data Binding in the .NET Framework 2.0 (Part 1 and Part 2)
- Behind the Scenes: Implementing Filtering for Windows Forms Data Binding (example)
- Change Notification in Windows Forms Data Binding
- Custom Numeric Format Strings
- Standard Numeric Format Strings
- How to encrypt and decrypt a file by using Visual Basic .NET or Visual Basic 2005
- National Language Support (NLS) API Reference
Documentation – Slideshare
Books
- “What the C or C++ Programmer Needs to Know About C# and the .NET Framework” by Charles Petzold
Samples
- The Microsoft All-In-One Code Framework is a free, centralized code sample library (browser all code samples) provided by the Microsoft Community team. Our goal is to provide typical code samples for all Microsoft development technologies. Our team listens to developers’ pains in MSDN forums, social media and various developer communities. We write code samples based on developers’ frequently asked programming tasks, and allow developers to download them with a short code sample publishing cycle. Additionally, our team offers a free code sample request service. This service is a proactive way for our developer community to obtain code samples for certain programming tasks directly from Microsoft.
