Поле не найдено исключение с скомпилированным dll регулярным выражением - PullRequest
2 голосов
/ 10 декабря 2011

У меня возникла проблема с этой ошибкой, и в Google было найдено решение, но ее нет.

Исключение: Поле не найдено: '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 Ответ

2 голосов
/ 10 декабря 2011

Кажется, что поле internalMatchTimeout является новым в .NET 4.5.Убедитесь, что вы как-то не смешиваете версии библиотеки .NET.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...