General class
- Microsoft Enterprise Library Microsoft is officially produced to assist developers in solving a wide range of common issues in the enterprise application development process, such as security, logging (Logging), data access, configuration Management (config Manage), and encapsulate these widely used application blocks in a package called the Enterprise Library
- Commonlibrary.net a Help class library that contains ActiveRecord, CSV, Command line parsing, Configuration, Validation, Logging, collections, Authentication, wait.
- Castle a traditional integrated class library that contains IOC containers, ORM based on ActiveRecord patterns, class MVC framework, core, now uses more of the core Castle.core, which contains a virtual factory-based log abstraction, Dynamic Proxy dynamicproxy,dictionary Adapter (you can convert an interface into a strongly typed Dictionary object, you can check it, some scenarios are useful)
IOC container
- AUTOFAC one of my favorite IOC containers, features rich, in addition to the basic functions of the IOC, but also provides a modular and assembly scanning, built in a lot of useful extensions (lazy,func,owned,ienumrable), and so on ASP.NET,MVC,MEF, Wcf,dynamicproxy, etc. provides integration.
- The foundation of the Unity Microsoft Enterprise Library, the function is simple, the extension is convenient, the Microsoft official provides a Eventbus extension example, is worth a look
- Ninject features are easy to use, and many MVC books use this as an example.
- StructureMap a traditional IOC container that came out early, with superior performance and stable functionality, has not been updated (best performance in an IOC container performance test)
ORM Framework
- NHibernate, a traditional ORM, was developed quickly after porting Java hibernate,3.0, providing fluentmap and fluentconfig, Support for LINQ, support for HQL and NativeSql, support for first-level caches and level two caches, Rich ID generation strategy, more interception event exposure, support for all common databases, disadvantage is a bit more configuration options, beginners nowhere to start
- EntityFramework Microsoft's official ORM, simple configuration, better LINQ support than NH, tool support and lower learning thresholds, naming convention configuration, support for Codefirst dbmigration (not available in production when developing), The downside is that bulk operations are not supported (third-party libraries Entityframework.extension extend this, but also cache), no native level two cache, monotonous ID generation, no support for multiple databases (many databases, such as MySQL, provide support for EF, But there are a lot of bugs, a stable business library to choose from), and a single way to configure (when you want to dynamically load the model into the DbContext from the assembly, you know how to catch chickens)
- Dapper StackOverflow Open Source Miniorm, performance and native ADO close, 0 configuration, strong type support. Disadvantages are also small bugs, weak LINQ support (find only one MSSQL LINQ plugin) There are two extensions about Dapper , one called Dapper.extension, one called Dapper.Rainbow.Mysql. These two extensions may be closer to the traditional ORM
- Servicestack.ormlite another miniorm, performance second only to Dapper, supporting most of the database, more than Dapper rich API and better strongly typed lambda expression query conditions support, mapping 0 configuration, Also supported with attribute configuration, support table creation and deletion, good stuff. I like it best.
Document operations
- Eppplus uses XLSX protocol to read and write excel2007/2010, with very many functions
- DocX reads and writes word2007/2010 files without installing Office
- Pdfsharp Operation PDF
Base Class Library
- AutoMapper object mapping, often used to do the mapping between Dto/viewmodel and model, function rich far beyond your imagination
- HTML Agility Pack HTML parsing Library
- Json.NET JSON serialization and deserialization, basic support for all JSON features, performance is also good, MVC4 the default reference assembly is included. (Support 4.0 of dynamic objects, this is very useful)
- Fluentvalidation is similar to the 4.0 new code contract that is used to create validation rules for business objects. It has built up a lot of rules.
- DotNetZip Create, compress, unzip zip files
- SharpZipLib Create, compress, unzip zip files
- Sevenzipsharp supports compression and decompression of all 7zip formats
- Rx uses the sequence of observable objects (iobservable) and LINQ-style query operations to write asynchronous and event-based programs. A developer can use an observable object to represent an asynchronous data stream through Rx, and use LINQ operations to query for asynchronous data flows. In short: Rx = observables + LINQ + schedulers.
- Microsoft.Bcl.Async can use 4.5 of the new Async and await two keywords in 4.0
Assisted development
- AutoUpdate Add update function for your program with one click
- Netsparkle an independent upgrade framework that does not depend on your programs and code
- Mailsystem.net features a powerful email component that provides access to SMTP, POP3, IMAP4, NNTP, MIME, S/MIME, OpenPGP, DNS, VCard, VCalendar, Anti-Spam (Bayesian, RBL, DomainKeys), queueing, Mail Merge and whois support
- Fluentmigrator a database migration framework similar to Rubymigrations
- Gmap.net a powerful one. NET map control, can be used for WinForm and WPF, cross-platform, support Coogle, Yahoo!, Bing, OpenStreetMap, ArcGIS, Pergo, Sigpac, Yandex, mapy.cz, maps.lt, IKar te.lv, Nearmap, Ovimap, Cloudmade, Wikimapia, MapQuest, students can expand the domestic version according to the needs.
Enterprise Bus
- Shuttle ESB an open-source Enterprise bus, written in C #, does not rely on third-party assemblies to support MSMQ and table-based queue
- Nservicebus is the most popular. NET open source bus, not dependent on XML configuration, support MSMQ, RabbitMQ, ActiveMQ, Webspheremq, Azure, followed by a complete set of facilities, such as the integration of AUTOFAC
Server
- Katana contains a series of server components that are used to create self-contained Web applications.
- Cassinidev open Source ASP. NET Server, alternative to IIS
- Iistuner IIS Configuration Optimization tool
Graphic image
SHARPGL OpenGL's C # package, updated very
Fast, basically can be consistent with Glew.
- Magick.net powerful image processing library, can handle more than 100 formats, without installation of ImageMagick
- Dotnet.highcharts Highcharts's package, used for ASP. NET, strong type and smart hints, slag front developer's Gospel.
Log
How to choose a log framework if you use the Microsoft Enterprise Library, you bring your own enterprise library, if you introduce the use of log4net in the assembly, it is best to use log4net, if not, see a person likes
- Log4net Traditional log frame, ported to log4jv1.2, efficient, stable
- NLog Official introduction for the Advanced log framework, compared with log4net, there is a relatively strong profile self-correcting ability, richer logappender.
- Logging Application Block Microsoft Enterprise Library comes with a logging module
- Semantic Logging application Block Microsoft Enterprise Library New logging framework, the concept is different from the previous three, specifically can refer to http://blogs.msdn.com/b/agile/archive/2013/02/ 07/embracing-semantic-logging.aspx
Cms
- Orchard CMS's new show, based on ASP. It's very well worth learning as a source (the modules that are worth learning are deep applications for IOC, IOC-based Eventbus, highly abstract templating systems, Cache, plug-in systems, NH-based Data Migration framework )
- DotNetNuke DotNetNuke is a very good web-based open source portal program supported by Microsoft, powerful and similar to WordPress in PHP
- Umbraco Umbraco is a kind of based on. NET technology for Open source CMS (Content Management System), which uses SQL Server or MySQL to store data. Umbraco's biggest feature is simplicity, flexibility, and ease of use, both for developers and website managers. Umbraco also provides a WYSIWYG editor that is almost exactly the same as Microsoft Word
Tool article
- NuGet vs Prerequisite Plugins First, the project relies on file management. You can also set up your own NuGet server within the Department for Collaborative Development of assembly publishing.
- Sandcastle Help File Builder Sandcastle itself is a Microsoft-produced document generation tool that replaces NDOC,SHFB based on Sandcastle, providing more options, tool support and VS integration, recommended for use
Most of the fire. NET open source projects