编译的dll正则表达式找不到字段

时间:2011-12-10 13:22:34

标签: c# regex compilation

我遇到此错误的问题,并在谷歌上搜索了一个解决方案,但没有。

  

异常:找不到字段:'System.Text.RegularExpressions.Regex.internalMatchTimeout'。

我的正则表达式是:

TheExpressions.Add("ExtractURL", @"\b(?:(?:https?|ftp|file)://|www\.|ftp\.)
  (?:\([-A-Z0-9+&@#/%=~_|$?!:,.]*\)|[-A-Z0-9+&@#/%=~_|$?!:,.])*
  (?:\([-A-Z0-9+&@#/%=~_|$?!:,.]*\)|[A-Z0-9+&@#/%=~_|$])");

使用选项编译的代码:

CI[Cnt++] = new RegexCompilationInfo((string)de.Value,        // the reg. ex pattern
                                                 RegexOptions.IgnoreCase | RegexOptions.CultureInvariant | RegexOptions.Multiline | RegexOptions.IgnorePatternWhitespace | RegexOptions.Compiled,   // Options to specify
                                                 (string)de.Key,          // name of the pattern
                                                 "TheRegularExpressions", // name space name
                                                 true);                  // Public?

感谢。

1 个答案:

答案 0 :(得分:2)

似乎internalMatchTimeout字段是.NET 4.5中的新功能。检查以确保您没有以某种方式混合.NET库版本。