Setup, Newcomer Developers, Start Here





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

Member
Affiliation
Area of Interest
Joe Shook
Kryptiq
Deployment/Installer, MDNMonitor, Agent, Config Store, Middle Tier, etc...
Sri Koka
Techsant Technologies
XD*, Baremetal install
Ryan Balsick
ICA
Deployment, XD*
Vassil Peytchev
Epic
XD*

Former Contributors

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

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

Common Libraries, DNS, Config, Testing
Claudio Sanchez
Obhita
Web Admin

Scrum Meetings

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 3.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.

Process

  • 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 3.51 SP1
  • msbuild.exe: Ships free with .NET Framework.
  • Project Files are created in Visual Studio 2008:
    • Visual Studio 2008 Professional fully supported. Required for building the complete RI. See the details for building the .NET RI.
  • For large messages, Windows Hot Fix

VS 2012 Express Edition

In support of developers running VS 2012 Express for Web solutions and projects have also been included, identified by the VS2012 suffix. These are also targeted against .NET version 3.51 SP1.


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

Coding Guidelines

CSharp Coding Guidelines

Components

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


Enable CRL support