c# - 正则表达式的命名空间不起作用

标签 c# .net

我正在翻新一些曾经在 .NET Framework 3.5 上运行的旧代码,以使其在使用 C# 的 .NET Framework 4 上运行。

以下 Regex 过去在 3.5 版中工作良好,但由于某些奇怪的原因不再工作。

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

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

我用谷歌搜索了一下,了解到您必须在 Visual Studio 中添加对 System.Text.RegularExpressions 的引用。但是,当我这样做时,我无法在我可以添加的引用列表中找到 System.Text.RegularExpressions。

我正在使用 Visual Studio 2012。

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

最佳答案

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

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

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

关于c# - 正则表达式的命名空间不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13322798/

相关文章:

c# - 无法使用 VS Debugger Interop 执行语句

c# - 扩展基础移动 Azure 示例(.net 后端)

.net - 添加 "Today Button"到日历控件

c# - .NET 将日期时间转换为格式可排序日期/时间模式 ("s");

c# - Microsoft.Reporting.WebForms.ReportViewer contol 在 ToolBar 中添加自定义控件

c# - 如何停止 Unity 游戏对象的移动和/或旋转

c# - 如何提取注册用户的数据?

c# - 获取所有标有 [JsonIgnore] 属性的属性

.net - 从共享文件夹运行 Windows 应用程序

javascript - Chrome 和 IE 返回不同的 SHA 哈希值