Skip to content
iCal parser in a Portable Class Library
Branch: master
Clone or download


iCal parser in a Portable Class Library


When it comes to the .NET world, the DDay.iCal library is fantastic. I strongly recommend that others check this out.

This is some experiments to understand how hard it is to write such a library, and do it in a portable way (that is, Windows Phone, etc.). This work was prompted by me spending an hour trying to get DDay.iCal working in a PCL environment. Of course, I didn't really understand how complex, which is the complete iCal specification, was.

Initial goals (if this doesn't go off the rails):

  • Deal properly with generic single events
  • No I/O - the person that calls the this library is responsible for feeding it any data
  • Deserialization only
  • Minimal-to-no manipulation once an iCal item has been created.
  • Supports local time and UTC time, but not the VTIMEZONE record

DDay.iCal is rather full featured, especially when it comes to manipulating events, all the various flavors of iCal events, and reoccurring items. This is meant to be simple.

NOTE: Some of my test input .ics files were taken from DDay.iCal. Many thanks to their work for that.


  1. VS 2015, Build (also tested in VS 2013).
  2. Note that in debug mode many more tests are available (friend assembly)
  3. nuget pack .\iCal.PCL.csproj -Prop Configuration=Release from the iCal.PCL directory.



You can’t perform that action at this time.