ClosureOSS.Calendare.VSyntaxReader 0.1.0-beta-0005

This is a prerelease version of ClosureOSS.Calendare.VSyntaxReader.
dotnet add package ClosureOSS.Calendare.VSyntaxReader --version 0.1.0-beta-0005
                    
NuGet\Install-Package ClosureOSS.Calendare.VSyntaxReader -Version 0.1.0-beta-0005
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="ClosureOSS.Calendare.VSyntaxReader" Version="0.1.0-beta-0005" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="ClosureOSS.Calendare.VSyntaxReader" Version="0.1.0-beta-0005" />
                    
Directory.Packages.props
<PackageReference Include="ClosureOSS.Calendare.VSyntaxReader" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add ClosureOSS.Calendare.VSyntaxReader --version 0.1.0-beta-0005
                    
#r "nuget: ClosureOSS.Calendare.VSyntaxReader, 0.1.0-beta-0005"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package ClosureOSS.Calendare.VSyntaxReader@0.1.0-beta-0005
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=ClosureOSS.Calendare.VSyntaxReader&version=0.1.0-beta-0005&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=ClosureOSS.Calendare.VSyntaxReader&version=0.1.0-beta-0005&prerelease
                    
Install as a Cake Tool

Library to parse and manipulate ICS files based on RFC5545

🏭 Build

Why

This C# library was specifically developed for reading and manipulating RFC5545 iCalendar (ICS) files, with a primary focus on server-side applications, such as calendar servers. The goal was to create a robust and permissive library that can handle the many quirks and non-compliant behaviors of various calendar clients in the wild.

  • Permissive Parsing: The library is built to be tolerant of malformed or non-standard ICS data, allowing it to successfully parse files from as many different clients as possible.

  • Timezone Handling: Accurate handling of timezones is crucial for international scheduling. This library includes a dedicated and robust system for processing timezone definitions to ensure events are displayed correctly for users across the globe.

  • Modern Feature Support: This includes support for the components VAvailability (RFC 7953), which is helpful for free/busy scheduling, and VPoll (RFC 9073), which enables calendar-based polling and voting features.

  • This library is not intended for client-side use, such as creating new events or managing a user's local calendar.

Install

Installation is simple, just install via

dotnet add package ClosureOSS.Calendare.VSyntaxReader

Scope

Supported RFC's

Partial supported RFC's

RFC's under consideration

  • currently none

Not supported RFC's

Credits

Testcases (ICS files)

The test ICS files, in the ./data/ subdirectories, are largely derived from Ical.Net version 4 (circa February 2023). Ical.Net's test cases were originally created for the libical project.

Some test ICS files where originally created for DAViCal.

These files may have been altered after they were copied from Ical.Net or DAViCal.

Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.0-beta-0005 121 9/4/2025