Setup, Newcomer Developers, Start Here

NET 4.5.2 release with policy enablement and HSM support is in the beta. Version is 1.3.*

Installers are located on

Architecture Slides

Team Members

The CSharp (.NET) Reference implemenation is being developed by the following team of volunteers. Please add your name to this list if you wish to contribute.

Team Lead: Joe Shook

Active Contributors

Area of Interest
Joe Shook
Deployment/Installer, MDNMonitor, Agent, Config Store, Middle Tier, etc...

Former Contributors

Area of Interest
Umesh Madan
Agent, Crypto/SMIME/SMTP, DNS, Common Libraries, Config Store, Middle Tier Services, SMTP Server Integration
Sean Nolan
Agent, DNS, Web Admin
Ali Emami
Agent, Crypto, DNS, Config Store, Middle Tier, etc...
Arien Malec

Agent, Common, XD*, Object Model Docs
John Theisen
Agent, STMP/MIME, Web Admin, Build, Deployment/Installer
Chris Lomonico

Common Libraries, DNS, Config, Testing
Claudio Sanchez
Web Admin
Sri Koka
Techsant Technologies
XD*, Baremetal install
Ryan Balsick
Deployment, XD*
Vassil Peytchev

Scrum Meetings (on hold)

Wednesday: 11AM - 11:30 AM PST. Please Email Ali Emami if you would like to join.
See full Reference Implementation Group meetings

Key Principles

The C# reference implementation will....

  1. Provide a reusable object model and libraries used to build concrete Direct integrations
  2. Proivde an "out of the box" installable servers on a single server.
  3. Be quality code that can credibly be used in the real world.
  4. Have no install dependencies other than what comes standard on Windows Server 2008 (build/test tools don't count, .NET 4.5 and SQL Express exempted).
  5. Be modularized so that implementors can easily replace any major component with their own implementation, or when appropriate extract components for use in their own codebases.
  6. Will not include any code that breaks the BSD license.
  7. Have clear structure and documentation that minimizes developer "jumpstart" time.

Project Management

Release Plan

CSharp Project & Release Plan

Issue Forum

  • Issues that need to be addressed by the CSharp Reference Implementation Team should be submitted here.


  • Lightweight (agile) project management. Individual collaborators use whatever mechanism works for them them.
  • 30 minute Scrum calls.
  • "Do-opoloy". Working code speaks louder than words!

Source Code

Software Requirements For Development

  • .NET Framework 4.5
  • msbuild.exe: Ships free with .NET Framework.
  • Project Files are created in Visual Studio 2013:
    • Visual Studio 2013 Express Web and Desktop togetherl fully supported. Required for building the complete RI. See the details for building the .NET RI.
  • For large messages, Windows Hot Fix

Build Environment

You build projects using either Visual Studio or from the command line using msbuild.exe.
CSharp Build Instructions

Publishing a New Release

Building and Publishing the Installer and Source archive 4.5 framework

Coding Guidelines

CSharp Coding Guidelines


The C# Reference implementation provides software at two levels:
Object Model and libraries that allow you to integrate and leverage - pick and choose - even copy and paste - Direct technology into your existing .NET code.
More packaged solutions that use the object model to deliver turn-key out of the box functionality.

Configuration Settings

Extensibility and Custom Code