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.
Make ICal.NET the best in class for .NET - in terms of usability, performance and reliability (RFC compliance / compatibility).
Join the project and help to achieve this goal!
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.
- Submit a bug report or issue
- Contribute code by submitting a pull request. Always open an issue first, so we can discuss necessary changes.
- Ask a question. Please never use the issue tracker for questions.
-
We ask and encourage you to contribute back to the project. This is especially true if you are using the library in a commercial product.
-
Questions asked in the discussion area are open to the community or experienced users to answer. Give maintainers a helping hand by answering questions whenever you can.
-
Remember that keeping ical.net up is something ical.net maintainers and many contributors do in their spare time.
In case you need it, Rian Stockbower may offer paid support and bugfixes. A few basic rules to consider when asking for this kind of support:
- Any changes made to the ical.net library are open source, and will always be published on nuget for others to consume.
- You do not own the changes made to the library even if you paid for them.
- Congruence with the ical-org vision for the future of ical.net is required. That means we step back from things like "add Exchange interop", or take dependencies on third-party libraries that benefit only your one or very few use cases.
iCal.NET logo adapted from Love Calendar By Sergey Demushkin, RU