编译错误:Ticks必须介于DateTime.MinValue.Ticks和DateTime.MaxValue.Ticks之间。参数名称:刻度

时间:2010-03-22 22:11:37

标签: c# asp.net visual-studio visual-studio-2008

我有一个Visual Studio 2008解决方案,当我构建时,返回以下错误:

Ticks must be between DateTime.MinValue.Ticks and DateTime.MaxValue.Ticks.  Parameter name: ticks

错误中没有参考文件/行/列。随着解决方案的最终构建变得非常令人沮丧,但是我无法调试。

在解决方案中,没有任何参考/使用DateTime.MinValue.Ticks ...

修改

我的解决方案中只有2个对刻度线的引用,这些都没有引起问题。

DateTime也没有构造函数问题。我不认为它与DateTime或滴答有关。

我发现了一个类似的引用,它在解决方案中被证明是一个损坏的图像文件,它没有日期修改的值。但这并不影响我的。

6 个答案:

答案 0 :(得分:5)

错误消息来自DateTime构造函数,它带有一个很长的值。

您的代码中的某个位置是从常量值创建DateTime值,因此实际创建是在编译时而不是运行时完成的。该值超出了构造函数的范围。

这样的代码给出了相同的例外:

public static DateTime startTime = new DateTime(-1);

但是,异常发生在运行时。要在编译时获取它,标记代码中可能存在某些内容,例如服务器控件中的参数值。

答案 1 :(得分:1)

听起来你没有初始化ticks

在这种情况下,不会引用DateTime.MinValue.Ticks

您必须搜索ticks并仔细检查所有事件。

答案 2 :(得分:1)

我不知道你是否曾经解决过这个问题,但我发现它是由于图像元数据中的毛刺而发生的。

它发生在两个不同的项目中,由两个不同的系统创建,但罪魁祸首一直缺少图像的文件修改数据。

我写了一篇关于此的帖子:

http://runtingsproper.blogspot.com/2010/03/solved-error-1-ticks-must-be-between.html

但文章的基本关键是要做到以下几点:

  1. 切换到“输出”选项卡,看看最后一个文件夹是在borked之前编译的。
  2. 删除该文件夹。
  3. 重新编译
  4. 继续重复步骤1到3,直到网站编译
  5. 当它编译开始带回你删除的最后一批中的单个文件,直到找到有问题的文件

答案 3 :(得分:1)

这是一个看起来很简单的错误消息,看起来很难被追踪。

这是一个编译时错误。我也有这个错误。要摆脱这个错误....我打开了我的文件

 proximanova-black.ttf in notepad and saveas . this resolved my error.

这篇文章可以让你重新走上正轨而不花费数小时的时间。 http://runtingsproper.blogspot.com/2010/03/solved-error-1-ticks-must-be-between.html

答案 4 :(得分:0)

我用rtpHarrys的答案解决了这个问题。事实证明我有一个错误的日期格式的.ttf文件,所以我刚收到它,现在它的工作原理!

答案 5 :(得分:0)

我在Visual Studio 2013中遇到了同样的错误。正如你所说,没有Ticks或类似的东西。但不幸的是前段时间我的计算机上出现日历问题,日期是2199或类似的东西,我意识到在那次错误后我还没有运行代码。我的解决方案是:

  1. 将本地git repo复制到usb闪存盘。
  2. 删除本地git repo。
  3. 复制&从usb光盘再次将git repo粘贴到光盘上。