iCal.NET is an iCalendar (RFC 5545) class library for .NET aimed at providing RFC 5545 compliance, while providing full compatibility with popular calendaring applications and libraries.
iCal.NET is available as a nuget package.
There's a guide just for you: Migrating from dday.ical
The wiki contains several pages of examples of common ical.net usage scenarios.
- Simple event with a recurrence
- Deserializing an ics file
- Working with attachments
- Working with recurring elements
- Concurrency scenarios and PLINQ
- Migrating from dday.ical
ical.net uses semantic versioning. In a nutshell:
Given a version number MAJOR.MINOR.PATCH, increment the:
- MAJOR version when you make incompatible API changes,
- MINOR version when you add functionality in a backwards-compatible manner, and
- PATCH version when you make backwards-compatible bug fixes.
ical.net is a something I do in my spare time around my family, day job, friends, and other hobbies. That means support is "when I get to it". I recognize that sometimes this isn't good enough, especially if you have a production issue. To that end, I offer paid support and bugfixes. A few basic rules before you contact me:
- Changes made to the ical.net library are open source.
- You do not own the changes I make to the library.
- Congruence with my vision for the future for ical.net is required. That means I won't do things like add Exchange interop, or take dependencies on third-party libraries that benefit only your use case.
- New versions of the library that result from changes made will be published on nuget for others to consume.
Please email me if paid support is something you require, and we can work out the details via email.
iCal.NET logo adapted from Love Calendar By Sergey Demushkin, RU