问题标签 [ical-dotnet]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1432 浏览

c# - 使用 ical.net 支持夏令时的重复事件

实现自动调整 DST 的重复日期的最佳方法是什么?例如,即使 DST 生效,事件也应在每天上午 10 点重复发生,并且不应在 1 小时内向后或向前跳跃。

目前我将日期存储为 UTC,但我也可以访问原始时区。

0 投票
0 回答
354 浏览

c# - 迁移到 iCal.net 期间 - 仅匹配日期

我正在尝试为我存储为仅日期值的重复规则“ExcludeDates”模拟 MatchesDateOnly。我希望我的 RRULE 忽略某些仅限日期的时段。

以前在 DDay 中我们可以指定:

如何在 iCal.net 中模仿此功能?

0 投票
1 回答
58 浏览

c# - 根据开始和结束日期缩小日历以仅包含必要的日历对象的最佳方法是什么

使用 iCal.Net。

我想要实现的是缩小日历以通过互联网发送它,所以我不必发送整个日历,如果有人问我会发生什么,这将是浪费(考虑到它会变大)在一天之内。

我们应该只发送给定时间段内发生的事情。

似乎是一个好的开始,我不确定如何获得实际的 CalendarObject ,也不确定它是否是好方法。

0 投票
2 回答
6381 浏览

c# - 使用 iCal.Net 为 Microsoft Outlook 发送会议邀请

我正在尝试使用 C# 发送会议邀请,并且能够使用手动格式化的静态字符串获得我想要的 - 这是我能够使用静态字符串获得的截图

我现在正试图用 iCal.Net 复制它(因为日期和与会者是动态的)并且无法得到我想要的。请看我用下面的代码得到的截图

我不确定我在这里缺少什么。从 iCal.net 生成的 iCalendar 信息与我使用的静态字符串几乎相同。

谢谢!

0 投票
1 回答
285 浏览

icloud - 为 caldav 解析 ics 时出错

iCal .net 版本-:2.3.3 我在使用 ical .Net 解析 ics 时遇到以下错误-:

这只发生在少数帐户/事件上。

0 投票
1 回答
1082 浏览

google-calendar-api - 将 iCal.net 与 Google 日历一起使用

我在调度官员的应用程序中用 iCal.Net 替换了 DDay iCal 库。许多官员喜欢在他们的谷歌日历上使用“从 URL 添加”添加他们的比赛日历,这样他们就可以在手机上查看他们的日程安排。但是,Google 日历似乎不喜欢现在正在生成的 .ics 文件。它会很好地导入,但尝试通过 URL 添加它会导致没有事件出现。我通过 URL 添加与其他客户端(Outlook、O365 等)的链接没有问题,并且该文件在文本编辑器中显示正常。

0 投票
1 回答
910 浏览

caldav - iCloud Caldav 的 iCal.Net 中的 TzId 和 TimeZoneName 列表

1) Ical.Net.Interfaces.DataTypes 中 IDateTime 的 TimeZoneName 和 TzId 属性有什么区别?2) 在哪里可以找到 TimeZoneName 和 TzId 的完整列表?

0 投票
2 回答
700 浏览

c# - 重复事件丢失自动时区转换

我正在使用 ical.net 设置日历邀请电子邮件。发送非重复事件似乎很有效:我这样设置开始和结束日期

邮件到达时,时区已转换为收件人时区(时区为-7,事件时间为下午4点,持续时间为3小时)

时区为-7,事件时间为下午4点,持续时间为3小时

但是,当我采用相同的确切代码并将这一行添加到它时

突然收到邮件时我的时区不再转换(时区为-7,事件时间为下午4点,持续时间为3小时。结束日期为28日)

时区为 -7,事件时间为下午 4 点,持续时间为 3 小时。 结束日期为 28 日

我需要在用户自己的时区中向用户显示 DateTime,并且我需要显示从 eventTime 到 endDate 的重复事件

注意我没有在日历上指定时区属性也可能很有用,因为它导致发送的电子邮件在 Outlook 中显示“不支持的日历消息”。在我删除它之前,它看起来像这样

当我打开指定了这个时区的 ical 文件时,它们似乎在多日事件中正常工作,但是由于我需要它们出现在 Outlook 中并带有接受/拒绝/暂定按钮,因此无法将其添加回来

我也试过像这样指定日期时间

但没有任何改变

编辑:我现在明白问题是由于需要指定此处的时区的重复事件,但我不太确定需要在哪里指定时区。我回去重新添加 vTimeZone 并通过站点对其进行验证,并且 iCal 文件似乎缺少时区块内的标准/日光部分

有效性检查器的结果

我还尝试将时区指定为 GMT 并将时区指定为 "\"America/Phoenix\"" 以便 tzid 以 TZID:"America/Phoenix" 的形式出现(在 ical 文件中带有引号。

这是我目前导致问题的代码。

我不太确定从这一点开始纠正标准/日光错误需要发生什么。

最终编辑:

看完这篇文章后,我发现这个问题在去年 11 月就已经解决了。我检查了我们项目中的版本,结果发现一些天才只是直接复制了 dll,而没有通过 nuget 设置它(以及几年前的版本)。我抓住了最新版本,这次指定时区在 Outlook 中没有引起任何问题。我仍在尝试 addTimeZone 和 addLocalTimeZone 但我绝对走在正确的轨道上。感谢 rianjs 提供了这个非常有用的库。如果没有它,我不知道如何使用这个疯狂的日历标准。

0 投票
0 回答
922 浏览

.net - 导入 Outlook 的 Ical.net ICS 文件关闭一小时

去年秋天,我在调度应用程序中用 iCal.net 替换了 DDay iCal 组件。我们位于美国中部时区,我们数据库中的所有时间都是当地时间。

我们的大多数用户将 iCal.net 生成的 .ics 文件通过 URL 导入到他们的 Google 日历中,或者将文件手动导入到 Outlook 中。当 DST 在 3 月开始时,我们注意到导入 Outlook 2016 的文件减少了一小时。Google 日历会继续显示正确​​的时间。

这是我设置时区的代码:

包含一个事件的示例 .ics 文件如下所示:

该游戏将成功地在 Google 日历中显示为 17:30 开始,但如果将 .ics 文件导入 Outlook,它将显示 18:30 开始。

0 投票
1 回答
1392 浏览

ical-dotnet - 从 Visual Studio 中的“管理 NuGet 包”功能安装 iCal.NET 时出现“错误:无法安装包”

我想从 Visual Studio 2013 中的“管理 NuGet 包”功能安装 iCal.NET。但是,出现错误:

错误:无法安装包“System.Reflection.TypeExtensions 4.1.0”。您正在尝试将此包安装到以“.NETFramework,Version=v4.5”为目标的项目中,但该包不包含任何与该框架兼容的程序集引用或内容文件。有关更多信息,请联系包作者

在此处输入图像描述

我的项目本身使用 .NET Framework 4.5:

在此处输入图像描述

但是,如果我直接从这里下载 iCal.NET ,我可以将其设置为参考而不会出错。

有谁知道这个问题?

编辑

我刚刚发现了这个讨论:https ://github.com/rianjs/ical.net/issues/101

似乎 iCal.NET 应该能够支持 .NET 4.5,因为 Nuget 包版本 2.2.7