Regex kaynak oluşturma için SYSLIB tanılamaları

Aşağıdaki tabloda.NET 7 ve sonraki sürümlerde regex kaynak oluşturma çözümleyicileri için tanılama kimlikleri gösterilmektedir. SYSLIB1045 derleme zamanında normal ifade altyapısı uygulamasını oluşturmak için kaynak oluşturmayı kullanabileceğiniz yerler için sizi otomatik olarak uyarır. Kalan tanılama, kaynak oluşturucu kullanımıyla ilgili hatalarla ilgili olarak sizi uyarır.

Tanılama Kimliği Açıklama
SYSLIB1040 Geçersiz GeneratedRegexAttribute kullanım.
SYSLIB1041 Aynı yönteme birden çok GeneratedRegexAttribute öznitelik uygulandı, ancak yalnızca birine izin verilir.
SYSLIB1042 Belirtilen normal ifade geçersiz.
SYSLIB1043 Yöntemin GeneratedRegexAttribute kısmi, parametresiz, genel olmayan ve soyut olmayan olması ve döndürmesi Regexgerekir.
SYSLIB1044 Regex oluşturucu, bir iç sınırlama nedeniyle belirtilen normal ifade için tam bir kaynak uygulaması oluşturamadı. Daha fazla ayrıntı için oluşturulan kaynaktaki açıklamaya bakın.
SYSLIB1045 Derleme zamanında normal ifade uygulamasını oluşturmak için kullanın GeneratedRegexAttribute .

Normal ifadeler için kaynak oluşturma hakkında daha fazla bilgi için bkz . .NET normal ifade kaynak oluşturucuları.

Uyarıları gizleme

Mümkün olduğunda geçici çözümlerden birini kullanmanız önerilir. Ancak, kodunuzu değiştiremiyorsanız, uyarıyı bir #pragma yönerge veya <NoWarn> proje ayarı aracılığıyla gizleyebilirsiniz. SYSLIB1XXX Kaynak oluşturucu tanılaması hata olarak ortaya çıkmazsa, uyarıyı kodda veya proje dosyanızda gizleyebilirsiniz.

Koddaki uyarıları engellemek için:

// Disable the warning.
#pragma warning disable SYSLIB1006

// Code that generates compiler diagnostic.
// ...

// Re-enable the warning.
#pragma warning restore SYSLIB1006

Proje dosyasındaki uyarıları engellemek için:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
   <TargetFramework>net6.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>

Ayrıca bkz.