2

我翻新了一些曾经在 .NET Framework 3.5 上工作的旧代码,使其能够使用 C# 在 .NET Framework 4 上工作。

以下正则表达式曾经在 3.5 版中正常工作,但由于某些奇怪的原因不再工作。

public static readonly Regex ChatColorRegex = new Regex("\\|c[A-Za-z0-9]{6,8}"),
                                 ChatLinkRegex = new Regex("\\|H.*?\\|h");

我在文件顶部添加了“使用 System.Text.RegularExpressions”,但出现以下错误:“命名空间 System.Text 中不存在类型或命名空间 RegularExpressions。

我已经用谷歌搜索过,并读到您必须在 Visual Studio 中添加对 System.Text.RegularExpressions 的引用。但是,当我这样做时,我在可以添加的参考列表中找不到 System.Text.RegularExpressions。

我正在使用 Visual Studio 2012。

谁能告诉我我做错了什么,或者忘记阅读?

4

1 回答 1

10

Regex 类仍在 System.Text.RegularExpression 命名空间中。该类位于 System 程序集中。

如果您在解决方案资源管理器中检查项目引用,您应该会看到对系统程序集的引用。检查该引用的属性以查看系统程序集引用使用的 .NET Framework 版本。它应该与您在项目属性(应用程序选项卡)中为“目标框架”选择的 .NET Framework 版本相匹配。

编辑:Regex 类位于 System.Text.RegularExpressions 命名空间中,而不是 System.Text。

于 2012-11-10T14:27:31.667 回答