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");

ファイルの先頭に「using System.Text.RegularExpressions」を追加しましたが、次のエラーが発生します。

私はそれについてグーグルで検索し、Visual Studio で System.Text.RegularExpressions への参照を追加する必要があることを読みました。ただし、追加したときに、追加できる参照のリストに System.Text.RegularExpressions が見つかりませんでした。

Visual Studio 2012 を使用しています。

誰が私が間違っているのか、または読むのを忘れているのか教えてもらえますか?

4

1 に答える 1

10

RegexクラスはまだSystem.Text.RegularExpression名前空間にあります。クラスはシステムアセンブリにあります。

ソリューションエクスプローラーでプロジェクト参照を確認すると、システムアセンブリへの参照が表示されます。その参照のプロパティをチェックして、システムアセンブリ参照に使用されている.NETFrameworkのバージョンを確認します。プロジェクトのプロパティ([アプリケーション]タブ)で[ターゲットフレームワーク]に選択した.NETFrameworkのバージョンと一致している必要があります。

編集:Regexクラスは、System.TextではなくSystem.Text.RegularExpressions名前空間にあります。

于 2012-11-10T14:27:31.667 に答える