.NET 開源開發項目【翻譯】

原文地址

本文列出了 .NET 開源開發項目(open source developer projects)。意在包括對開發過程的所有方面有所幫組的項目。對於消費項目(consumer projects),請參閱 .NET開源消費項目清單 。

下面按字母排序,並提供一行文字說明。GitHub/CodePlex(或其他)鏈接優先。

  • .NET 實現

    • .NET Core - Core .NET 框架
    • C# Native – 把 C# 編譯成本地代碼。
    • Cosmos - C# 開源的管理操作系統,一個操作系統是“construction kit”。
    • Fling OS - C# Operating System designed for people to learn low-level development from.
    • Mono - .NET Framework 跨平臺(Cross-platform)的實現。
    • MOSA Project - 管理操作系統聯盟項目 - C# Operating System.
    • SharpLang – 把 C# & .NET 編譯成本地機器碼,使用 LLVM 作爲後臺。
  • 平臺

    • Castle Project - Umbrella project for ActiveRecord, DynamicProxy, MonoRail, Windsor
    • Catel - Application platform with IoC, logging, reflection and much more that serves as a base for applications that must be ready for future growth.
    • Enterprise Web Library (EWL) - An extremely opinionated platform for web applications that trades off performance, scalability, and development flexibility for an ease of maintenance you won't find anywhere else. Enterprise Web Library site .
    • KonfDB - Configuration Management as a Service for cross-platform, multi-tenant enterprise/hobby applications.
  • 語言

    • Boo - 一個類似 Python 的 .NET 語言,但它是靜態類型(static typing),以及很多元編程(meta-programming)功能。
    • ClojureCLR - Clojure 編程語言的 .NET 實現,構建在 DLR。
    • Cobra - 整潔、高級語法(Boo/Python-like)。靜態和動態綁定(Static and dynamic binding)。一級類支持單元測試和契約。用腳本執行編譯的便利性。Lambda 表達式和閉包(closures)。擴展(Extensions)和混入(mixins)。
    • Dynamic Language Runtime – 用 .NET 構建動態語言的工具。
    • Eagle - Tcl 編程語言的一個 .NET 實現,構建在 CLR。
    • Essence# - Essence# is a fully dynamic and highly polymorphic programming language which features pervasive message passing, pervasive dynamic and strong typing, pervasive and deep reflection and pervasive object orientation.
    • F# - 一個成熟、開源、跨平臺、functional-first 編程語言。是 ocaml 語言在 .NET 下的實現。
    • F* - An ML-like language with a type system for program verification.
    • IronPython - Python 編程語言的一個 .NET 實現,構建在 DLR。 IronPython Site .
    • IronRuby - Ruby 編程語言的一個 .NET 實現。構建在 DLR。 IronRuby Site .
    • IronScheme - A R6RS conforming Scheme-like implementation based on the Microsoft DLR.
    • Irony - a development kit for implementing languages on .NET platform
    • MoonSharp - A Lua interpreter and remote debugger, written entirely in C#, easily embeddable in any application running on .NET 3.5+ and Mono.
    • Nemerle - A high-level statically-typed programming language which offers functional, object-oriented and imperative features and has a simple C# like syntax and a powerful meta-programming system.
    • NiL.JS - A .NET implementation of the ECMAScript language and runtime.
    • Phalanger - full-featured PHP runtime & compiler for .NET/Mono frameworks. Phalanger is modern open-source implementation of PHP, compatible with the vast array of existing PHP code.
    • Roslyn (.NET Compiler Platform) - Open-source C# and Visual Basic compilers with rich code analysis APIs.
  • 安全/ 識別管理

  • Web CMS

    • DNN (formerly DotNetNuke) - Web 內容管理平臺(CMS)。
    • N2CMS - Open source, lightweight, code-first CMS able to seamlessly integrate into any MVC project.
    • Orchard - A community-focused Content Management System built on the ASP.NET MVC platform.
    • Piranha CMS - Lightweight CMS library for new and existing ASP.NET MVC & WebPages applications.
    • Suave A lightweight web server and a set of combinators to manipulate route flow and task composition.
    • Umbraco - Web 內容管理平臺(CMS)。
    • WebSharper - Web 編程平臺,包括一個把 F# 代碼編譯成 JavaScript 的編譯器。
  • Web 框架

    • Nancy - A lightweight, low-ceremony, framework for building HTTP based services on .NET and Mono.
    • NemerleWeb - Web MVVM library for .Net. It uses reactive data model which allows creating rich internet applications.
  • ADO.NET 提供者

  • 消息隊列

    • AzureNetQ - An easy to use .NET API for Azure Service Bus.
    • EasyNetQ - An easy to use .NET API for RabbitMQ.
    • Lime - 一個輕量級的消息隊列庫。
    • RestBus - 一個 .NET 的簡單異步消息和隊列。
    • Albedo - A .NET library targeted at making Reflection programming more consistent, using a common set of abstractions and utilities.
    • Algorithmia - Algorithms and Data structures
    • AngleSharp - Ultimate angle brackets parser library. It parses HTML5, MathML, SVG and CSS to construct a DOM based on the official W3C specification.
    • ArcGIS.PCL - 調用 ArcGIS Server REST API 資源。也可以在 ArcGIS 功能與 GeoJSON 之間轉換。
    • Argument - Argument validation microframework that does one thing in the simplest way possible.
    • AshMind.Extensions - A set of very conservative extension methods most of which closely follow naming and design patterns of .NET Base Class Library.
    • AsyncCollections - A set of lock-free thread-safe collections designed to be used asynchronously.
    • Bing.RestClient - Access the Bing REST APIs from a unified client.
    • BoxKite.Twitter - Twitter .NET Client Library for the 1.1 Twitter API, incorporating REST API, User streaming and Search Streaming. Uses Reactive Extensions (Rx).
    • Brighter - A Command Dispatcher and Command Processor library with support for Work or Task Queues over different MoM implementations such as RabbitMQ
    • Cimbalino Toolkit - A set of useful and powerful tools that will help you build your Windows Platform applications.
    • Coding4Fun Toolkit
    • ColoredConsole - 向你的控制檯添加一些顏色。
    • ColorSharp - 處理顏色空間(color spaces )和光頻譜(light spectrums)的庫。
    • ComparerExtensions - Build IComparer and IEqualityComparer objects using natural language syntax.
    • Cricket - Actor 庫。
    • DiffSharp - Automatic Differentiation Library
    • DotNetOpenAuth - Library that adds support for your site visitors to login with their OpenIDs by just dropping an ASP.NET control onto your page.
    • DropboxRestAPI - DropBox .Net 客戶端庫。
    • DynamicData - Brings the power of Rx to collections
    • ExtraLINQ - Various extension methods for working with .NET collections.
    • FeatureToggle - Simple, reliable feature toggles in .NET.
    • FluentBootstrap
    • FluentConsole - Alternative approach to colored console ( FluentConsole.Red.Text().Green.Text() ).
    • FluentValidation - A small validation library for .NET that uses a fluent interface and lambda expressions for building validation rules.
    • GongSolutions.Wpf.DragDrop - A drag'n'drop framework for WPF.
    • GeckoFX - Mozilla's Gecko layout engine wrapper in .NET.
    • HudlFfmpeg - A/V transcoding framework that helps build complex FFmpeg commands.
    • JSON.NET - Popular high-performance JSON framework for .NET
    • Kentor.AuthServices - A SAML2 Service Provider for .NET.
    • LibGit2Sharp
    • Lucene.Net
    • MahApps.Metro - A toolkit for creating metro-style WPF applications.
    • Math.NET Numerics - Provides methods and algorithms for numerical computations in science, engineering and every day use.
    • Mathos Core Libary - A library with algorithms for numerical calcultations in finance, statistics, pattern recognition, and more.
    • Mathos Parser - A simple parser for mathematical expressions before and at runtime.
    • Mjolnir - Hystrix -inspired fault tolerance with circuit breakers and thread pools.
    • MoreLINQ - LINQ to Objects is missing a few desirable features. This project will enhance LINQ to Objects with extra methods, in a manner which keeps to the spirit of LINQ.
    • NAudio - An open source .NET audio and MIDI library.
    • NetTopologySuite - A .NET port of the JTS Topology Suite.
    • NHunspell - Spell Checker, Hyphenation an Theasaurus
    • NModbus4 - Implementation of the Modbus protocol
    • NodaTime - A better date and time API for .NET
    • NPOI - An Office file formats (xls, xlsx, docx) read/write library for .NET
    • OneDriveRestAPI - OneDrive .Net Client Library using the REST API.
    • OsmSharp - Mapping & Routing library.
    • PocketSharp
    • PortableRest - Portable library for building cross-platform REST API Clients for .NET and Xamarin.
    • RestSharp - Simple REST and HTTP API Client for .NET
    • SharpMap - An easy-to-use mapping library for use in web and desktop applications
    • SharpSnmpLib - An easy-to-use SNMP library for use on all platforms (.NET/Mono/Xamarin)
    • Splat - A library to make things cross-platform that should be.
    • SSH.NET - A client-side library for SSH, SCP and SFTP.
    • SuperSocket - An extensible socket server engine which supports .NET and Mono
    • WebApiProxy - An automatic proxy provider for RESTful services built on ASP.NET Web API. Includes JavaScript & C# client generation.
    • WebSocket4Net - A C# websocket client for .NET, Mono and Xamarin
    • WpfToolkit - Fork of the MS WPF Toolkit
    • XamlEssentials - Collection of helpers for Microsoft's XAML platforms.
    • Zlib.Portable - A Portable Class Library port of the Zlib library from http://dotnetzip.codeplex.com .
  • 數據挖掘 / 數據提取 / 機器學習 / 人工智能

    • AForge.NET - a C# framework designed for developers and researchers in the fields of Computer Vision and Artificial Intelligence - image processing, neural networks, genetic algorithms, machine learning, robotics
    • Nepy - A collection of NLP parsers for .NET
    • SharpNLP - SharpNLP is a collection of natural language processing tools written in C#
    • Toxy - An data/text extraction framework for .NET, similar to Tika in Java.
  • 圖像 & 服務端圖像處理

    • DynamicImage - WPF-based server-side image rendering system - lots of visual effects implemented as high-performance shaders. Has URL api, several plugins available.
    • ImageProcessor - A .NET Library For On-The-Fly Processing Of Images (GDI+ based).
    • ImageResizer - Add commands to image URLs to get altered versions in milliseconds. Edit, filter, touch-up images in real-time. (multiple backends - FreeImage, C++/CLI, GDI+, WIC). 45+ plugins available.
    • King.Azure.Imaging - Scalable image uploading and processing for Azure.
    • MonoGame - MonoGame is a cross-platform, open-source implementation of the XNA Game Framework.
    • .NET Image Processor - Extensible, chainable image processing library (GDI+ based).
    • OpenTK - OpenTK is a low-level, cross-platform binding to OpenGL, OpenGL ES, OpenCL and OpenAL, available for Windows, Linux, Mac OS X, BSD, Android and iOS.
    • SharpDX - SharpDX is a project delivering the full DirectX API for .NET on all Windows platforms.
  • 日誌

    • Exceptionless - Provides real-time .NET error reporting for your ASP.NET, Web API, WebForms, WPF, Console, and MVC apps. It organizes the gathered information into simple actionable data that will help your app become exceptionless!
    • ELMAH - ELMAH (Error Logging Modules and Handlers) is an application-wide error logging facility that is completely pluggable. It can be dynamically added to a running ASP.NET web application, or even all ASP.NET web applications on a machine, without any need for re-compilation or re-deployment.
    • log4net - A tool to help the programmer output log statements to a variety of output targets.
    • LogMaster4Net - It is a central log server which can organize your logs in different applications in a same place but have same log behaviors (loggers, appenders, levels and rules) like in the indepedent applications before.
  • Model-View-ViewModel (MVVM) 框架

    • Caliburn Micro - A small, yet powerful framework, designed for building applications across all XAML platforms.
    • Catel.MVVM - Catel is an application development platform with the focus on MVVM.
    • MVVM Cross - A cross-platform mobile MVVM development framework.
    • MVVM Extensions - MVVM cross platform (.NET FW 4.5, WPF, Windows Runtime/Phone) extensions for .NET with support for async commands, MVVM-friendly Object and Task with support for UI notification.
    • MVVM Light Toolkit - A cross-platform desktop and mobile MVVM development framework.
    • Okra App Framework - An MVVM framework for Windows Store applications including MVVM templates for Visual Studio.
    • Radical - An infrastructure framework whose primary role is to help in the development of composite WPF/Silverlight/WP/WinRT applications based on the Model View ViewModel pattern.
    • ReactiveUI - An MVVM framework that integrates with the Reactive Extensions for .NET to create elegant, testable User Interfaces that run on any mobile or desktop platform.
    • Simple Mvvm Toolkit - Provides a simple framework and set of tools for getting up to speed quickly with applications based on the MVVM design pattern.
    • WPF Application Framework (WAF) - A lightweight Framework that helps you to create well structured WPF Applications. It supports you in applying a Layered Architecture and the Model-View-ViewModel pattern.
  • 工具

    • Cake (C# Make) - A build automation system with C#/Roslyn driven build scripts.
    • CppSharp - C/C++ bindings generation for .NET.
    • CInject - A tool to inject your C#/VB.NET code into existing .NET assemblies and executables
    • FAKE - Build automation system with capabilities which are similar to make and rake.
    • Fody - Extensible tool for weaving .NET assemblies.
    • Crawler-Lib Build Tools - A PowerShell based toolbox for automating the software build process, autmated testing and integration.
    • FsEye - A visual object tree inspector for the F# Interactive.
    • FsharpLint - Lint tool for F#.
    • FsPickler - Serialization library that facilitates the distribution of .NET objects.
    • GitLink - Command-line tool to make .NET open source accessible without the need for a symbols server
    • GitVersion - Use convention to derive a SemVer product version from a GitFlow based repository.
    • Glimpse - Providing real time diagnostics & insights to the fingertips of hundreds of thousands of developers daily.
    • ILSpy - ILSpy is the open-source .NET assembly browser and decompiler.
    • Mini Profiler - A simple but effective mini-profiler for .NET.
    • Obfuscar - MSIL obfuscation utility for .NET assemblies.
    • Outcomes.Net - Fluent wrapper that eliminates plumbing code around failure-prone functions.
    • Paket - Dependency manager for .NET and Mono projmects, which is designed to work well with NuGet packages and also enables referencing files directly from GitHub repositories.
    • Protobuf-net - A .NET implementation of protobuf, allowing you to serialize your .NET objects efficiently and easily.
    • scriptcs - scriptcs makes it easy to write and execute C# with a simple text editor.
    • Snoop WPF - Snoop - The WPF Spy Utility
    • Sql Bulk Copy Sync
    • Vagrant - Automated dependency resolution and dynamic assembly compilation framework.
    • Waf DotNetPad - The Waf DotNetPad is a simple and fast code editor that makes fun program with C# or Visual Basic.
    • Weighted Selector - Easy to use (but high performance!) weighted selection implementation.
    • XDav - A .net server mudole for webdav standard.
    • ZeroToNine - A tool for maintaining .NET Assembly versions across multiple files.
  • 測試

    • AutoFixture - An open source framework for .NET designed to minimize the 'Arrange' phase of your unit tests. Its primary goal is to allow developers to focus on what is being tested rather than how to setup the test scenario, by making it easier to create object graphs containing test data.
    • canopy - A web testing framework.
    • FakeItEasy - The easy mocking library for .NET.
    • Fixie - A low-ceremony, convention-based testing framework with flexible customization.
    • FsCheck - A tool for testing .NET programs automatically.
    • moq - The most popular and friendly mocking framework for .NET
    • NSubstitute - A friendly substitute for .NET mocking frameworks.
    • NUnit - NUnit is a unit-testing framework for all .NET languages.
    • tickspec - A lightweight Behaviour Driven Development (BDD) framework.
    • TestStack.BDDfy - BDDfy is the simplest BDD framework to use, customize and extend!
    • TestStack.FluentMvcTesting - Simple, terse, fluent unit testing for ASP.NET MVC Controllers.
    • TestStack.Seleno - Seleno helps you write automated UI tests in the right way by implementing Page Objects and Page Components and by reading from and writing to web pages using strongly typed view models.
    • TestStack.White - White is a framework for automating rich client applications based on Win32, WinForms, WPF, Silverlight and SWT (Java) platforms.
    • xUnit - xUnit.net is a community-focused unit testing tool for the .NET Framework.
  • 依賴注入

    • Autofac - Autofac is an addictive Inversion of Control container for .NET 4.5, Silverlight 5, Windows Store apps, and Windows Phone 8 apps.
    • Castle Windsor - A mature Inversion of Control container available for .NET and Silverlight
    • DI Feature Tests - Tests that track commmon DI features among multiple containers
    • dI.Hook - DI container that allows invocation using AOP
    • DryIoc - DryIoc is small, fast, capable IoC Container for .NET
    • fFastInjector - fFastInjector is a high-performing dependency injector, service locator, and/or IOC (inversion of control) container.
    • Funq - A fast DI container you can understand.
    • Grace - Grace is a feature rich Dependency Injection container in a portable class library
    • Griffin - Inversion of control container with (almost) zero configuration
    • HaveBox - HaveBox is a very fast and lightweight IoC containter. The goal is to keep it fast and light, and at the same time easy to use.
    • Hiro - An ultra-lightweight, inversion of control container compiler framework
    • IfInjector - High performance mobile micro-IoC container.
    • LightCore - A lightweight dependency injection container that can be used as a service locator and despite its simplicity and ease boasts numerous features.
    • LightInject - A ultra lightweight IoC container
    • MicroSliver - MicroSliver is a micro, non-bloat, non-intimidating and speedy .NET (ASP.NET, Silverlight, RIA Services, WPF, Forms and Metro!)
    • Mugen Injection - The MugeniInjection is a lightweight and fast managed IoC (Inversion of Control) and DI (Dependency Injection) with support for constructor, property and method call injection
    • Ninject for Desktop - Dependency injector for .NET
    • Ninject for Portable Class Libraries, Universal apps and Xamarin
    • QuickInject - QuickInject is a Unity 3.5 based IoC container that aims to give the Unity container a performance advantage in basic scenarios.
    • Simple Injector - Simple Injector is an easy-to-use Dependency Injection library for .NET 4+ that supports Silverlight 4+, Windows Phone 8, Windows 8 including Universal apps and Mono.
    • Spring.NET - Spring.NET is an open source application framework that makes building enterprise .NET applications easier.
    • StructureMap - StructureMap is a Dependency Injection / Inversion of Control tool for .Net that can be used to improve the architectural qualities of an object oriented system by reducing the mechanical costs of good design techniques.
    • StyleMVVM - Style MVVM is a toolkit designed for the Windows Store platform around the idea of being light weight and fast.
    • TinyIoC - An easy to use, hassle free, Inversion of Control Container for small projects, libraries and beginners alike.
    • Unity Container - The Unity Container (Unity) is a lightweight, extensible dependency injection container with optional support for instance and type interception.
  • 數據訪問

    • Dapper - Dapper is a single file you can drop in to your project that will extend your IDbConnection interface.
    • Eggado - Eggado takes generics, lambdas, expression trees, dynamic methods and DLR and uses them to breathe new life into data access using good old ADO.NET. It's for folks who can live with a SQL dialect.
    • King.Mapper - High performance model mapping.
    • linq2db - Lightweight ORM and LINQ provider with support for various databases including MS SQL, PostgreSQL, Oracle and MySQL
    • NHibernate - Object Relational Mapper
    • Simple Data - A light-weight, dynamic data access component for C# 4.0.
    • Sqlite-net - Simple, powerful, cross-platform SQLite client and ORM.
    • NMEA Parser - Library for handling NMEA message in Windows Desktop, Store, Phone and Xamarin (Android + iOS), coming from files, Bluetooth, serial port or any stream.
    • Neyro.Data - Tiny, simple and fast ORM.
    • StackExchange.Redis
    • SQL LocalDB Wrapper - SQL LocalDB Wrapper is an assembly providing interop with the SQL LocalDB native API from managed code using .NET APIs.
    • LINQ2DynamoDB - A type-safe data context for AWS DynamoDB with LINQ, in-memory caching and OData support.
  • 遊戲

    • Duality - An Open Source 2D Game Engine + Visual Editor written entirely in C#.
    • MonoGame - One framework for creating powerful cross-platform games.
    • OpenRA - An open-source implementation of the Command & Conquer: Red Alert engine using .NET/Mono and OpenGL.
    • Paradox - Paradox is a versatile and engaging game engine.
    • WaveEngine - A powerful component based game engine for desktop and mobile platforms using C#.
  • UI 和 Control 庫

    • Callisto - UI Control Toolkit for WinRT apps
    • Dragablz - A tearable TabControl for WPF which also provides easy-to-use and implement docking features.
    • Eto - Cross platform GUI Toolkit for desktop and mobile apps
    • Material Design in XAML Toolkit - WPF/XAML resources, styles & templates for creating applications using Material Design
    • Mono XWT - A cross-platform UI toolkit for creating desktop apps
  • Windows 服務

    • King.Service - Task scheduling for Azure and Windows
    • TopShelf - An easy service hosting framework for building Windows services using .NET.
  • 調度

    • Hangfire - An easy way to perform fire-and-forget, delayed and recurring tasks inside ASP.NET applications.
    • Quartz.Net - A full-featured, open source job scheduling system that can be used from smallest apps to large scale enterprise systems.
  • 部署

    • DropkicK - A fluent deployment library for Windows applications
    • RoundHouse - RoundhousE is a Database Migration Utility for .NET using sql files and versioning based on source control
  • 服務總線(Services Bus)

    • King.Service.ServiceBus - Task scheduling for Azure and Windows Servers: Service Bus.
    • Warewolf Easy Service Bus - An open source easy to use service bus, built on numerous .Net technologies including WF (Windows Workflow Foundation), SignalR and WPF.
  • 分佈式緩存和計算

    • CacheAdapter - a .Net library allows developers to use unified-implemented cahce provider
    • Dache - An open source distributed caching service, built on .NET 4.0 and using TCP sockets for communication.
  • Windows 工作流

    • Workflow Extractor - Document Windows Workflow logic into a Word document or Excel sheet.

This list is just a starting point - also take a look at all the projects on CodePlex and on GitHub Trending C# .

@quozd hosts an Awesome .NET! list. Also worth checking out.

Thanks to @slodge for providing the initial list.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章