Olá,
o que chamo de obsoleto:
1. Incapacidade de lidar com network (Web Services SOAP/REST, Sockets, Remote Method Invocation etc)
2. Dificuldade para lidar com XML (MSXML sofre do mal do chamado DLL Hell, diferentes versões na mesma máquina pelo Internet Explorer frequentemente entram em conflito e fazem aplicações pararem de funcionar)
3. Dificuldade de lidar como host de linguagens script (automação). Este recurso é simplesmente genial. Fiz um exemplo com PowerCOBOL e VBScript (
Adding script support to PowerCobol applications
). Muita coisa é possível, mas é complicado passar objetos do Power para a linguagem script para que esta possa manipular o mesmo. Isto dificulta a implementação de Automation (criar Macros, por exemplo) que facilitam a vida do usuário
4. Dificuldade para lidar com mensageria (MSMQ). Não raro dependemos de bibliotecas de terceiros.
5. Impossibilidade de se criar modules/portlets para portais (ex: Dotnetnuke). Isto é uma fonte de frustração para mim, particularmente. Eu pretendia usar o DNN como estrutura de portal para aplicações Cobol para Web, mas não é possível com o Fujitsu Cobol for Windows.
6. Reutilização de componentes .Net (assinatura digital, grids inteligentes, gauges, componentes que consomem web services e um longo etc)
7. Uso do .Net Framework (runtime padrão Microsoft), que vem instalado nas versões do Windows desde o Vista/Windows 7.
Muitos OCXs não funcionam com o Power por causa das estruturas de dados usadas. Isto é eliminado no .Net.
É possível criar aplicações .Net para mobile (incluindo iOS e Android). A tecnologia do Power é Microsoft COM que só funciona no Windows.
Por fim, a class library built in do .Net economiza tempo e dinheiro. Além destas ainda existem as criadas e distribuídas pelos desenvolvedores:
Código:
Ajax
Ajax Control Toolkit - Microsoft
AJAXNet Pro
ASP.NET MVC Project Awesome - a rich set of helpers (controls) that you can use to build highly responsive and interactive Ajax-enabled Web applications. These helpers include Autocomplete, AjaxDropdown, Lookup, Confirm Dialog, Popup Form and Pager. Thanks Omu (April 20, 2011)
Build Tools
Prebuild - Generate project files for all VS version, including major IDE's and tools like SharpDevelop, MonoDevelop, NAnt and Autotools
Genuilder - Precompiler which lets you transform your source code during the build. Thanks Harry McIntyre (April 13, 2011)
Charting/Graphics
Microsoft Chart Controls for ASP.NET 3.5 SP1
Microsoft Chart Controls for Winforms
ZedGraph Charting
NPlot - Charting for ASP.NET and WinForms
Graph# - a graph layout framework contains some layout algorithms and a GraphLayout control for WPF applications. Thanks Florian Standhartinger (April 20, 2011)
Collections/Generics
PowerCollections - is a library that provides generic collection classes that are not available in the .NET framework. Some of the collections included are the Deque, MultiDictionary, Bag, OrderedBag, OrderedDictionary, Set, OrderedSet, and OrderedMultiDictionary. Thanks Adam Ralph (April 20, 2011)
Compression
SharpZipLib
DotNetZip
YUI Compressor (CSS and JS minification)
AjaxMinifier (in other downloads) (CSS and JS minification. Also includes MSBuild task)
SevenZipSharp to pack, unpack a lot of different packages (including RAR, 7ZIP, etc).
ZipStorer A Pure C# Class to Store Files in Zip
Controls
Krypton - Free winform controls. Link fixed (April 14, 2011)
Source Grid - A Grid control
DevExpress - Over 60 Free Controls from DevExpress. Thanks Florian Standhartinger (April 20, 2011)
ObjectListView - is a C# wrapper around a .NET ListView. It makes the ListView much easier to use and provides some neat extra functionality. Thanks Florian Standhartinger (April 20, 2011)
Data Mapper
XmlDataMapper
AutoMapper
Dapper
Massive
Mapper Extensions Thanks giometrix (April 14, 2011)
Data accessors from the Data Access Application Block
Value Injecter - ets you define your own convention-based matching algorithms (ValueInjections) in order to match up (inject) source values to destination values. Thanks Omu (April 20, 2011)
Dependency Injection/Inversion of Control
Unity Framework - Microsoft
StructureMap - Jeremy Miller
Castle Windsor
NInject
Spring Framework
Autofac
Simple Service Locator
Managed Extensibility Framework
TinyIoC
Funq - a high performance DI framework by eliminating all runtime reflection through the use of lambdas and generic functions as factories. Thanks Marcel Popescu (April 20, 2011).
Munq - a very small, fast dependency injection container designed for ASP.NET applications, both Webforms and MVC. It has, by design, limited features. The main goal has been to minimize the CPU required for Resolving types from the container. Thanks Marcel Popescu (April 20, 2011).
Design by Contract
Microsoft Code Contracts
LinFu
CuttingEdge.Conditions
IDE
SharpDevelop - is a free IDE for C#, VB.NET and Boo projects. Thanks Florian Standhartinger (April 20, 2011).
Logging
Logging Application Block - Microsoft
Log4Net - Apache
Error Logging Modules and Handlers(ELMAH)
NLog
CuttingEdge.Logging
Logging Abstraction Api "Common.Logging"
ORM
NHibernate and FluentNHibernate
Castle ActiveRecord
Subsonic
XmlDataMapper
Truss Data binding and real time property sync library
PDF Creators/Generators
PDFsharp
iTextSharp
Automated Web Testing
Selenium
Watin
Misc Testing/Qualitysupport/Behavoir Driven Development (BDD)
Testdatagenerator NBuilder
BDD StoryQ
BDD specflow
URL Rewriting
url rewriter
UrlRewriting.Net
Url Rewriter and Reverse Proxy - Managed Fusion/Nick Berardi
MS Word/Excel Documents Manipulation
DocX to create, read, manipulate formatted word documents. Easy syntax, working nicely, actively developed. No Microsoft Office necessary.
Excel XML Writer allows creation of .XLS (Excel) files. No Microsoft Office necessary. Been a while since it has been updated. It also provides code generator to create code from already created XLS file (saved as xml). Haven't tested this but looks very promising. Too bad author is long time gone.
Excel Reader allows creation/reading of .XLS (Excel) files. No Microsoft Office necessary. Been a while since it has been updated.
Excel Package allows creation/reading of .XLSX (Excel 2007) files. No Microsoft Office necessary. Author is gone so it's out of date.
EPPlus is based on Excel Package and allows creation/reading of .XLSX (Excel 2007). It is actually the most advanced even comparing to NPOI.
NPOI is the .NET version of POI Java project at Apache POI - the Java API for Microsoft Documents. POI is an open source project which can help you read/write xls, doc, ppt files.
sharp2word - a Word 2003 XML Documents Generator from C# code without any components or libraries. Thanks dublicator (April 20, 2011)
ClosedXML - an actively developed library for generating OpenXML Excel files. Thanks Joseph Robichaud (April 26, 2011)
Serialization
sharpserializer - xml/binary serializer for wpf, asp.net and silverlight
Protobuf.NET - fastest serialization port protobuf format into .NET platform. Thanks slava pocheptsov (April 26, 2011)
Silverlight
Silverlight Toolkit
Social Media
LinqToTwitter - Linq-based wrapper for all Twitter API functionality in C#
Facebook C# SDK - A toolkit for creating facebook applications / integrating websites with Facebook using the new Graph API or the old rest API.
Package managers for external libraries
NuGet (formerly known as NuPack) - Microsoft (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)
OpenWrap - Sebastien Lambla - Open Source Dependency Manager for .net applications
Unit Testing/Mocking
NUnit
Rhino Mocks
Moq
TypeMock.Net
xUnit.net
Gallio/MbUnit
Machine.Specifications
fakeiteasy - a .Net dynamic fake framework for creating all types of fake objects, mocks, stubs etc. Thanks Omu (April 20, 2011)
NSubstitute - a A friendly substitute for .NET mocking frameworks. Thanks xerxesb (May 10, 2011)
Shouldly - How asserting should be. Thanks xerxesb (May 10, 2011)
Validation
Validation Application Block - Microsoft
xVal
Fluent Validation
Threading
Smart Thread Pool - Thread Pool management library
Retlang - a high performance C# threading library. Thanks MarcBot (April 13, 2011)
bbv.Common - an open source library of software components that makes building multi-threaded, event-based and loosely coupled systems easy. Thanks Urs Enzler (April 14, 2011)
PowerThreading - a llibrary (DLL) containing many classes to help with threading and asynchronous programming. Thanks Adam Ralph (April 20, 2011)
Unclassified
CSLA Framework - Business Objects Framework
AForge.net - AI, computer vision, genetic algorithms, machine learning
Prism - Composit UI application block for WPF, Silverlight and WP7 - Microsoft patterns & practices
Enterprise Library 5.0 - Logging, Exception Management, Caching, Cryptography, Data Access, Validation, Security, Policy Injection - Microsoft patterns & practices
File helpers library
C5 Collections - Collections for .NET
Quartz.NET - Enterprise Job Scheduler for .NET Platform
MiscUtil - Utilities by Jon Skeet
Noda Time - DateTime replacement (idomatic port of Joda Time from Java)
Lucene.net - Text indexing and searching
Json.NET - Linq over JSON
Flee - expression evaluator
PostSharp - AOP
IKVM - brings the extensive world of Java libraries to .NET.
C# Webserver - Embeddable webserver
Long Path - Microsoft
.NET Engines for the GOLD Parsing System
NCQRS - library for event-driven architectures (CQRS).
Reactive Extensions for .NET - a library for composing asynchronous and event-based programs using observable collections. Thanks steve (April 14, 2011)
Mono.GameMath - a project to develop a highly-performant math library for games, based on XNA APIs. Thanks Alex Rønne Petersen (April 14, 2011)
SLSharp - a runtime IL-to-GLSL translation engine, allowing people to write GLSL shaders as C# code. Thanks Alex Rønne Petersen (April 14, 2011)
InfusionSoftDotNet - a dll to ease the pain for .Net developers to access the InfusionSoft API. Thanks Michael Gibbs (April 20, 2011)
re-mix - provides mixins for C# and Visual Basic .NET. Thanks Stefan Papp (April 20, 2011)
Mono.Cecil - a library written by Jb Evain to generate and inspect programs and libraries in the ECMA CIL format. It has full support for generics, and support some debugging symbol format. Thanks Florian Standhartinger (April 20, 2011)
ImapX - is an modern .NET 2.0 library for management of IMAP folders, supports SSL Connection and different IMAP formats, such as Gmail IMAP, AOL IMAP (November 30, 2011)
Qink | Free .NET Libraries
Saludos, Emerson