次の表に、.NET 7 以降のバージョンの正規表現ソース生成アナライザーの診断 ID を示します。 コンパイル時にソース生成を利用して正規表現エンジンの実装可能な場所を自動的に通知します。 残りの診断では、ソース ジェネレーターの使用に関連するエラーが警告されます。
| 診断識別子 | 説明 |
|---|---|
SYSLIB1040 |
無効な使用です。 |
SYSLIB1041 |
複数の 属性が同じメソッドに適用されましたが、1 つしか許可されません。 |
SYSLIB1042 |
指定された正規表現は無効です。 |
SYSLIB1043 |
メソッドは、部分、パラメーターなし、非ジェネリック、非抽象でなければならず、 を返す必要があります。 |
SYSLIB1044 |
内部制限により、正規表現ジェネレーターは指定された正規表現の完全なソース実装を生成できませんでした。 詳細については、生成されたソースの説明を参照してください。 |
SYSLIB1045 |
を使用して、コンパイル時に正規表現の実装を生成します。 |
正規表現のソース生成の詳細については、「.NET正規表現ソース ジェネレーターを参照してください。
警告を表示しない
可能な場合は、いずれかの回避策を使用することをお勧めします。 ただし、コードを変更できない場合は、 ディレクティブまたは プロジェクト設定を使用して警告を抑制できます。 ソース ジェネレーターの診断がエラーとして表示されない場合は、コードまたはプロジェクト ファイルで警告を抑制できます。
コード内の警告を抑制するには (必要に応じて診断 ID を置き換えます)。
// Disable the warning.
#pragma warning disable SYSLIB1006
// Code that generates compiler diagnostic.
// ...
// Re-enable the warning.
#pragma warning restore SYSLIB1006
プロジェクト ファイル内の警告を抑制するには (必要に応じて診断 ID を置き換えます)。
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<!-- NoWarn below suppresses SYSLIB1002 project-wide -->
<NoWarn>$(NoWarn);SYSLIB1002</NoWarn>
<!-- To suppress multiple warnings, you can use multiple NoWarn elements -->
<NoWarn>$(NoWarn);SYSLIB1002</NoWarn>
<NoWarn>$(NoWarn);SYSLIB1006</NoWarn>
<!-- Alternatively, you can suppress multiple warnings by using a semicolon-delimited list -->
<NoWarn>$(NoWarn);SYSLIB1002;SYSLIB1006;SYSLIB1007</NoWarn>
</PropertyGroup>
</Project>
こちらも参照ください
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET