2011/9/24 17:23:51
具体解决VS“滴答数必须介于 DateTime.MinValue.Ticks 和 DateTime.MaxValue.Ticks 之间”奇怪问题
具体解决VS“滴答数必须介于 DateTime.MinValue.Ticks 和 DateTime.MaxValue.Ticks 之间”奇怪问题
昨天项目编译遇到一个非常奇怪的问题,提示“滴答数必须介于 DateTime.MinValue.Ticks 和 DateTime.MaxValue.Ticks 之间”,但是没提示在什么页面什么代码出错。
这个问题是非常奇怪的,今天把心得放出来,希望对那些迷茫的童鞋有帮助。
遇到这个问题,还是头一次,问同事,也不知道什么回事,加上项目又大,不可能一个一个文件找,虽然大概知道是DateTime的原因,但是用到这个的至少有几白处地方,只好上google找一下。
网上也有不少人遇到,很多说的解决方法是说VS问题,要重新修复或者重装模板,然后。。。我也傻乎乎的用了一个上午时间修复,结果还是不行。
一怒情况下,把解决方案里面WEB项目下内容全部剪切到一个临时文件(解决方案外),然后编译,竟然过了,那就说明是WEB目录下代码或者其它问题。
因为文件很多,我就开始排除,先排除web.config,一样不能通过;排除所有有ASPX和ASPX.CS的文件夹,还是不能过;再排序App_Code文件夹,还是不能过;把BIN目录也排除了,还是不通。
这下郁闷了,剩下的文件夹和文件都是一些JS或者CSS或者图片文件,跟程序没关,但是把这些文件也排除后,发现竟然过了。
那只能从这些素材里面找。先排除JS文件夹....竟然过了,这些范围缩小了,但是就是郁闷了,VS 2010怎么会检测JS的呢,编译关JS什么事。
最终,查出了一个JS文件,是这个文件了,然后打开,找出,看看哪个方法有问题.....查阿查,更神奇的事情出来了,我把有问题JS文件里面所有代码全删除了,还是有问题。
我就想,是不是这个文件名和系统有冲突,因为这个JS叫order.js,改名后,一样编译不过。
这下子,心里有底了,是什么原因了,这个文件有问题,VS读取不了或者生成复制不了之类的。我做了个尝试,重新建了个order.js,然后把代码复制进去,竟然可以了,看来这个文件表头或者编码问题,用UE打开,果然...
真是神奇的VS,你们能猜到这个文件有什么问题不?为什么出那个报错不?哈哈