The TVA Code Library has been merged into the "Grid Solutions Framework
". Projects starting on .NET 4.5 framework need to migrate to this new platform.
The "TVA Code Library" is an open
source collection of .NET code used by the Tennessee Valley Authority, other utilities and various open source projects.
TVA uses this code as its base code library for most internal .NET development projects - as such, it contains a large variety of code useful for nearly any .NET project.
The project consists of hundreds of class libraries that extend and expand the functionality included in the .NET Framework. It makes many of the more complex .NET features (e.g., sockets and encryption) easier to use and adds functions
not included in the .NET Framework.
The purpose of the TVA Code Library is threefold:
- To provide standards. Standards in development make projects easier to maintain. The developer of an application may not be the same person who ends up maintaining the code.
- To improve speed. The component model says: "It’s faster not to reinvent the wheel" (not to mention cheaper).
- To increase reliability. Reusing battle-hardened, tested code will produce more reliable applications.
Highlights of the TVA Code Library:
- Configuration API for easy and secure access to application settings.
- High speed binary parsing framework for implementing protocol parsing.
- High speed communications framework for socket (TCP, UDP) and serial communication.
- Adapter framework for quickly developing plug-in based extensible systems.
- Security framework for implementing role-based security in ASP.NET, WCF, WPF, Windows Forms and Windows Services.
- Windows Service Template for quickly developing windows services with remoting capability out of the box.
- Base WCF service for creating WCF services that can be self-hosted in Windows Service, Console, WPF or Windows Forms application.
- WCF-based Message Bus that can be hosted inside ASP.NET, Windows Service, Console, WPF or Windows Forms application.
To start using the TVA Code Library: