.NET Core
.NET Framework
- http://www.microsoft.com/net
- Desc. : a software framework developed by Microsoft that runs primarily on Microsoft Windows.
- References
- .NET Framework 4.6 and 4.5 Class Library
- .NET Framework 4 Class Library
System.Collections.Generic
NamespaceSystem.ComponentModel.DataAnnotations
Namespace[Range], [Required], [Validation], ...
- Readings
- .NET Framework (Wikipedia)
- Common Language Runtime(CLR) (Wikipedia)
- the virtual machine component of Microsoft's .NET framework, manages the execution of .NET programs
- Common Language Infrastructure(CLI) (Wikipedia)
- an open specification developed by Microsoft and standardized by ISO and ECMA that describes executable code and a runtime environment that allow multiple high-level languages to be used on different computer platforms without being rewritten for specific architectures.
- Version Compatibility in the .NET Framework
- How to: Determine Which .NET Framework Versions Are Installed
- Installing the .NET Framework
- Microsoft .NET Framework 3.5 Deployment Considerations
- .NET Framework 3.5 is not included by default in Windows® 8 or Windows Server® 2012
- .NET Framework Client Profile
Windows SDK
- https://en.wikipedia.org/wiki/Microsoft_Windows_SDK
- Desc. : supports developing applications for Windows XP, Windows Vista, Windows 7, Windows 8, Windows Server 2008, .NET Framework 3.0, .NET Framework 3.5, and .NET Framework 4.0.
- Downloads
COM Interop
- COM Interop Tutorials
- COM Interop Part 2: C# Server Tutorial
- Exposing .NET Framework Components to COM
- How to call a managed DLL from native Visual C++ code in Visual Studio.NET or in Visual Studio 2005 (maybe out of date)
C++/CLI
- .NET Programming with C++/CLI
- Quick C++/CLI - Learn C++/CLI in less than 10 minutes (26 Jun 2007)
- Mixing Native and Managed Types in C++ (July 12, 2005)
- Using and extending the Orcas
marshal_as
library (12 Jul 2007)
WMI.NET
- WMI .NET Overview
- How To: Provide Management Data
- Writing coupled WMI providers using WMI.NET Provider Extension 2.0
Frameworks
UI
WPF
- https://msdn.microsoft.com/en-us/library/ms754130.aspx
- Desc. : a next-generation presentation system for building Windows client applications with visually stunning user experiences
- Readings
- API
- .NET Framework 4.5 and 4.6 Class Library
System.Windows Namespaces
- The System.Windows namespaces contain types used in Windows Presentation Foundation (WPF) applications, including animation clients, user interface controls, data binding, and type conversion.
Object Model
COM
IoC
Unity
- https://msdn.microsoft.com/library/ff647202.aspx
- Desc. : a lightweight, extensible dependency injection container with optional support for instance and type interception
- License : Microsoft Public License (Ms-PL)
- Sources :
- Readings
Data Access/OR Mapping
ADO
- ADOX Fundamentals
- ADOX includes objects for schema creation and modification, as well as security.
- Microsoft OLE DB Provider for Microsoft Jet
- Using ADOX with ADO.NET (Mar 11, 2010)
MyBatis.NET
- https://code.google.com/archive/p/mybatisnet/
- Desc. :
- License :
- Readings
Networking
Nancy
- http://nancyfx.org/
- Desc. : a lightweight, low-ceremony, framework for building HTTP based services on .Net and Mono
- License : MIT
- Sources : https://github.com/NancyFx/Nancy
- Readings
Akka.NET
- http://getakka.net/
- Desc. : a toolkit and runtime for building highly concurrent, distributed, and fault tolerant event-driven applications on .NET & Mono.
- License : Apache 2 license
- Sources : https://github.com/akkadotnet/akka.net/
- Readings
Logging
log4net
- http://logging.apache.org/log4net/
- Desc. : a tool to help the programmer output log statements to a variety of output targets
- License :
- Readings
NLog
- http://nlog-project.org/
- Desc. : a free logging platform for .NET, Silverlight and Windows Phone with rich log routing and management capabilities
- License : BSD license
- Sources : https://github.com/NLog/NLog/
- Readings
Testing
NUnit
- http://www.nunit.org/
- Desc. : a unit-testing framework for all .Net languages
- License : MIT license
- Sources : https://github.com/nunit/nunit
- Readings
XMLUnit
- http://xmlunit.sourceforge.net/
- Desc. : JUnit and NUnit testing for XML
Libraries
Fundamental
EasyHook
- https://easyhook.github.io/
- Desc. : makes it possible to extend (via hooking) unmanaged code APIs with pure managed functions, from within a fully managed environment
- License : MIT license
- Sources : https://github.com/EasyHook/EasyHook
Smart Thread Pool
- https://smartthreadpool.codeplex.com/
- Desc. : a thread pool written in C#.
- License : "Microsoft Public License":https://smartthreadpool.codeplex.com/license
- Sources : https://github.com/amibar/SmartThreadPool
SharpZipLib
- http://icsharpcode.github.io/SharpZipLib/
- Desc. : a Zip, GZip, Tar and BZip2 library written entirely in C# for the .NET platform.
- License : GPL
Image Processing
OpenCvSharp
- https://github.com/shimat/opencvsharp
- Desc. : Cross platform wrapper of OpenCV for .NET Framework.
- License : BSD License
Emgu CV
- http://www.emgu.com/
- Desc. : a cross platform .Net wrapper to the OpenCV image processing library.
- License : Dual License - GNU GPL license v3 or Commercial License
Vlc.DotNet
- https://github.com/ZeBobo5/Vlc.DotNet
- Desc. : .NET control that hosts the audio/video capabilities of the VLC libraries
- License : MIT
Graphics
SlimDX
- https://www.slimdx.org/
- Desc. : a free open source framework that enables developers to easily build DirectX applications using .NET technologies such as C#, VB.NET, and IronPython.
- License : MIT license
- Sources : https://code.google.com/archive/p/slimdx/source
- Readings
Tools
IDE
Visual Studio
- Readings
Visual Studio Express
- http://www.microsoft.com/express
- Desc. : a set of freeware integrated development environments (IDE) developed by Microsoft that are lightweight versions of the Microsoft Visual Studio product line.
- References
- Visual C++ 2010 Compiler Options Listed by Category
- For Visual Studio, compiler options are case-sensitive but linker options are case-insensitive
- Visual C++ 2010 Setting Compiler Options/CL Environment Variables
- Visual C++ 2010 Compiler Options Listed by Category
- Downloads
Visual Studio Addons/Extensions/Plugins
- Microsoft Visual Studio 2015 Language Pack
- switch the language that's displayed in the Visual Studio user interface.
- Markdown Mode
- Desc. : provides support for editing files that use the Markdown syntax.
- License : Microsoft Public License
- Visual Studio Spell Checker
- Desc. : checks the spelling of comments, strings, and plain text as you type or interactively with a tool window.
- License : Microsoft Public License
MonoDevelop
- http://monodevelop.com/
- Desc.: an IDE primarily designed for C# and other .NET languages.
- License : LGPLv2
SharpDevelop
- http://www.icsharpcode.net/opensource/sd/
- Desc. : a free IDE for C#, VB.NET and Boo projects on Microsoft's .NET platform.
- License : GPLv2, LGPLv2
- Sources : https://github.com/icsharpcode/SharpDevelop
- Readings
Decompiler
- Something Better than .NET Reflector?(Stack Overflow, Apr 15 '10)
ILSpy
- http://ilspy.net/
- Desc. : the open-source .NET assembly browser and decompiler
- License
Dependency Walker
- http://www.dependencywalker.com/
- Desc. : a free utility that scans any 32-bit or 64-bit Windows module (exe, dll, ocx, sys, etc.) and builds a hierarchical tree diagram of all dependent modules.
- License :
- Readings
Monitoring and Diagnostic
Visual Studio 2008 Service Pack 1 Stand-Alone Profiler
WPF Performance Suite
- https://msdn.microsoft.com/en-us/library/aa969767.aspx
- Desc. : enables you to analyze the run-time behavior of your WPF applications and determine performance optimizations that you can apply
Process Explorer
- https://technet.microsoft.com/en-us/sysinternals/processexplorer.aspx
- Desc. : shows you information about which handles and DLLs processes have opened or loaded.
Debugging
DebugView
- http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx
- Desc. : an application that lets you monitor debug output on your local Windows system, or any computer on the network that you can reach via TCP/IP.
Visual Leak Detector
- https://vld.codeplex.com/
- Desc. : a free, robust, open-source memory leak detection system for Visual C++.
- Readings
- Visual Leak Detector: Investigate Memory Leaks in Visual C++(SEPTEMBER 11, 2010)
- Visual Leak Detector - Enhanced Memory Leak Detection for Visual C++(14 Nov 2006)
WinDbg
- https://en.wikipedia.org/wiki/WinDbg
- Desc. : a multipurpose debugger for the Microsoft Windows computer operating system, distributed on the Worldwide Web by Microsoft.
- License : commercial
- Readings
- Downloads
- Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1
- Microsoft Windows SDK for Windows 7 and .NET Framework 4
- Windows SDK for Windows 8
- Windows 8, Windows 7, Windows Server 2012, Windows Server 2008 R2
- Windows SDK for Windows 8.1
- Windows 8.1, Windows 8, Windows 7, Windows Server 2012, Windows Server 2008 R2
Documentation
DocFX
- http://dotnet.github.io/docfx/
- Desc. : tools for building and publishing API documentation for .NET projects
- License : The MIT License
- Sources : https://github.com/dotnet/docfx
Sandcastle
- https://sandcastle.codeplex.com/
- Desc. : a documentation compiler for Managed class library that generates Microsoft-style Help topics, both conceptual and API reference.
- License :
- Sources : https://github.com/NLog/NLog/tree/master/tools/Sandcastle
- Readings
Build Tool
MSBuild
- https://github.com/microsoft/msbuild
- Desc. : the build platform for .NET and Visual Studio
- License : MIT license
- Source : https://github.com/microsoft/msbuild
- Readings
- Official documentation
- MSBuild Reference
- MSBuild Reserved and Well-Known Properties
- How to: Use Environment Variables in a Build
- All environment variables are available to the Microsoft Build Engine (MSBuild) project file as properties.
Installer
WiX Toolset
- http://wixtoolset.org/
- Desc. : a set of tools that allows you to create Windows Installer-based deployment packages for your application.
- License : Common Public License
- Sources
- WiX Toolset v3.x : https://github.com/wixtoolset/wix3
- WiX Toolset v4.x : https://github.com/wixtoolset/wix4
- References
- WiX Official Manual
- WiX Tutorial
- Formatted Strings
- Referencing properties, preprocessor variables and binder(linker) variables
- Compile-time variable substitution :
$(var.Foo)
- Link-time(bind-time) variable substitution :
!(bind.Bar)
- Events and Actions
- Formatted Strings
- Tools
- Schemas
- Properties/Variables
- Properties Guide
- Properties are global variables that Windows Installer uses during an installation.
- Property Reference (properties defined by Windows Installer)
ProductVersion
propertymajor.minor.build
format- Operating System Property Values
- System Folder Properties
- Binder Variables
- Properties Guide
- Actions
- Windows Installer Standard Actions Reference
- Standard Custom Actions
WixNetfxExtension
- custom action to generate native code for .NET assemblies; properties to detect .NET Framework install state and service pack levels.
- Readings
- Preprocessor
- variables, conditional statements, iteration statement
- How To: Add a File To Your Installer
- How to create a directory in wix?(Jun 2 '12)
- How To: Specify source files
- How To: Generate a GUID
- Create GUIDs online
- How To: Check for .NET Framework Versions
- How To: Install the Visual C++ Redistributable with your installer
- WiX 3 Tutorial: Solution/Project structure and Dev resources(2010/02/11)
- WiX 3 Tutorial: Understanding main WXS and WXI file(2010/02/17)
- WiX 3 Tutorial: Generating file/directory fragments with Heat.exe(2010/02/23)
- WiX 3 Tutorial: Custom EULA License and MSI localization(2010/04/15)
- How To: Optimize build speed
- Properties/Variables
- What does square brackets syntax mean in WiX(May 29 '14)
- Formatted data type of Windows Installer
- a text string that is processed to resolve embedded property names, table keys, environment variable references, and other special substrings.
- The WiX toolset's "Remember Property" pattern.(May 2, 2010)
- UI
- Actions
- Localization
- Preprocessor
Windows Installer
Inno Setup
- http://www.jrsoftware.org/isinfo.php
- Desc. : A free installer for Windows programs.
- Readings
Nullsoft Scriptable Install System
- http://nsis.sourceforge.net/
- Desc. : A professional open source system to create Windows installers.
IExpress
- https://technet.microsoft.com/en-us/library/dd346760.aspx
- Desc. :
- License :
- Readings
Package Management
WinGet
- https://learn.microsoft.com/en-us/windows/package-manager/
- Desc. : a comprehensive package manager solution that consists of a command line tool and set of services for installing applications on Windows devices.
- License : MIT
- Packages :
- Sources : https://learn.microsoft.com/en-us/windows/package-manager/
Chocolatey
- https://chocolatey.org/
- Desc. : a package manager for Windows (like apt-get or yum but for Windows)
- License : AGPL
- Sources : https://github.com/chocolatey/chocolatey.org
- Package Repository : https://chocolatey.org/packages
References
Commands
Command | Syntax | Description | Remarks |
---|---|---|---|
choco list
|
choco list filter [options]
|
Lists local packages | |
choco install
|
choco install pkg1 [pkg2 ... pkgn] [options]
|
Installs a package or a list of packages |
NuGet
- https://www.nuget.org/
- Desc. : the package manager for the Microsoft development platform including .NET.
- License :
- Packages : https://www.nuget.org/packages
- Readings
Scoop
- http://scoop.sh/
- Desc. : A command-line installer for Windows
- License
- Sources : https://github.com/lukesampson/scoop