c#生成的文件中出现“MatchTimeoutInMilliseconds”错误

时间:2016-05-06 07:35:53

标签: c# code-generation system.componentmodel

问题

这个错误刚刚开始出现在我的项目中,我不确定为什么。我有一个' Silverlight 5 '项目文件,它生成一个文件。此文件包含 MatchTimeoutInMilliseconds 调用,似乎一直存在错误:

 'System.ComponentModel.DataAnnotations.RegularExpressionAttribute' does not contain a definition for 'MatchTimeoutInMilliseconds'

我不知道如何解决这个问题,因为它与我编写的代码无关。

代码

/// <summary>
/// Gets or sets the 'uEmail' value.
/// </summary>
[DataMember()]
[DataType(DataType.EmailAddress)]
[Display(Name="Email address")]
[RegularExpression("^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\." +
        ")+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$", ErrorMessage="Please enter a valid e-mail adress", MatchTimeoutInMilliseconds=-1)]
[Required()]
[StringLength(256)]
public string uEmail
{

}

以上是包含错误的代码。

有谁知道如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

如果查看RegularExpressionAttribute,版本信息部分的MatchTimeoutInMilliseconds属性,您将看到:

通用Windows平台
从10开始可用

.NET Framework
自4.6.1起可用

你正如你所说的那样使用Silverlight 5,因此它不受支持。您可以修复此问题,但修复您用于不生成此属性的模板。

答案 1 :(得分:0)

我今天遇到了同样的问题并且无法通过安装4.6.1来解决它,即使是由Evk命名的微软网站也说它必须在那里。我的解决方案是安装4.6.2!

另一件要提及的事情(因为我们并不明白并花了一些时间将.Net版本视为问题),即使您已将框架设置为&#34; .Net 4.0& #34;在你的项目中。