[Post do Scott Guthrie traduzido para o português]
Em outubro (de 2007) eu postei sobre nosso plano para liberar o código-fonte das bibliotecas do .NET Framework, e habilitar suporte ao debug delas no Visual Studio 2008. Hoje (16/01/2008) estou feliz de anunciar que isso está disponível para todos utilizarem. Especificamente, você pode navegar e debugar o o código-fonte das seguintes bibliotecas do .NET Framework:
-
.NET Base Class Libraries (including System, System.CodeDom, System.Collections, System.ComponentModel, System.Diagnostics, System.Drawing, System.Globalization, System.IO, System.Net, System.Reflection, System.Runtime, System.Security, System.Text, System.Threading, etc).
-
ASP.NET (System.Web, System.Web.Extensions)
-
Windows Forms (System.Windows.Forms)
-
Windows Presentation Foundation (System.Windows)
-
ADO.NET and XML (System.Data e System.Xml)
Nós estamos no processo de adicionar mais bibliotecas do framework (incluindo LINQ, WCF e Wirkflow) à lista acima. Eu postarei detalhes sobre elas conforme forem sendo disponibilizadas nas semanas e meses à frente.
Habilitando o Acesso aos Fontes no Visual Studio 2008
Habilitar o acesso aos fontes do .NET Framework dentro do Visual Studio 2008 somente toma alguns minutos para ser feito. Shawn Burke escreveu um post detalhado que cobre os passos exatos sobre como habilitar isto aqui.
Se você tiver problemas or dúvidas configurando-o, por favor submeta uma questão no Reference Source Forum no MSDN aqui. (*)
Visualizando os Fontes da Biblioteca do .NET Framework
Uma vez que você tenha seguido os passos de configuração do post do Shawn acima, você estará apto a carregar dinamicamente os símbolos de debug para as bibliotecas do .NET Framework e pular para o código-fonte (step into). O VS 2008 irá carregar tanto os símbolos quanto os códigos-fonte sobre demanda dos servidores de referência MSDN conforme você for debugando o código do framework.
Os comentários dos desenvolvedores foram incluídos nos arquivos de código-fonte. Acima você pode ver um exemplo de um no método Dispose para a classe básica Control.
Algumas vezes você verá comentários que referenciam um número antigo de rastreio/bug em nosso banco de dados de de bugs/work-items que providencia histórico adicional sobre uma decisão particular de código. Por exemplo, o comentário acima chama a atenção para informar que um campo não deveria retornar nulo para manter compatibilidade retroativa com uma versão mais antiga do framework, e aponta para um bug de compatibilidade que foi corrigido por isso.
Licença de Referência
O código do .NET Framework está sendo liberado sobre uma licença de referência somente-leitura (reference license). Quando anunciamos que estaríamos liberando os fontes em Outubro, algumas pessoas se preocuparam sobre o potencial impacto de estarem visualizando os fontes. Para ajudar a clarificar e esclarecer estas preocupações, fizemos uma pequena alteração na licença para especificamente explicitar que a licença não se aplica a usuários desenvolvendo software para uma plataforma não-Windows que tem "os mesmos ou substancialmente os mesmos recursos ou funcionalidades" que o .NET Framework. Se o software que você está desenvolvendo é para a plataforma Windows, você pode olhar o código-fonte, mesmo se o seu software tiver "os mesmos ou substancialmente os mesmos recursos ou funcionalidades" que o .NET Framework.
Sumário
Nós pensamos que habilitar o acesso ao código-fonte e integração de debug para as bibliotecas do .NET Framework será realmente valioso para os desenvolvedores .NET. Estar apto a revisar o código deveria providenciar muito melhor entendimento sobre como as bibliotecas do .NET Framework são implementadas, e habilitá-lo a escrever aplicações melhores e fazer melhor uso delas.
Espero que ajude,
Scott
Nota: este post foi traduzido do post original .NET Framework Libray Source Code now available.