No hay una biblioteca específica para Windows Phone 7 que he encontrado, pero no debe ser demasiado difícil escribir su propias clases para generar archivos iCal, ya que iCal es solo texto, después de todo. The RFC is quite a dense read, pero usando algunas referencias en línea like this one y viendo algunos ejemplos, los archivos de iCal deberían ser suficientes para comenzar. Tome este ejemplo de archivo iCal de Wikipedia, por ejemplo:
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//hacksw/handcal//NONSGML v1.0//EN
BEGIN:VEVENT
UID:[email protected]
DTSTAMP:19970714T170000Z
ORGANIZER;CN=John Doe:MAILTO:[email protected]
DTSTART:19970714T170000Z
DTEND:19970715T035959Z
SUMMARY:Bastille Day Party
END:VEVENT
END:VCALENDAR
Así nota que comienzan y terminan un VCALENDAR, y una VEVENT dentro de ellos, que tiene unos campos obligatorios (como el UID). La única cosa a tener en cuenta es que la especificación requiere líneas de más de 75 octetos a ser roto, por lo que puede utilizar este método de this stack overflow question para los campos de texto largo:
Private Function RFC2445TextField(ByVal LongText As String) As String
LongText = LongText.Replace("\", "\\")
LongText = LongText.Replace(";", "\;")
LongText = LongText.Replace(",", "\,")
Dim sBuilder As New StringBuilder
Dim charArray() As Char = LongText.ToCharArray
For i = 1 To charArray.Length
sBuilder.Append(charArray(i - 1))
If i Mod 74 = 0 Then sBuilder.Append(vbCrLf & " ")
Next
Return sBuilder.ToString
End Function
caracteres de escape La función básicamente escapa a toda requeridos, e inserta un salto de línea/espacio cada 74 caracteres.
¡Buena suerte, diviértete! :)