Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A tabela a seguir mostra as IDs de diagnóstico para analisadores de geração de código fonte do regex nas versões .NET 7 e posteriores.
SYSLIB1045 alerta automaticamente para locais onde você pode usar a geração de código para criar a implementação do mecanismo de expressão regular durante a compilação. O diagnóstico restante alerta para erros relacionados ao uso do gerador de origem.
| ID do diagnóstico | Descrição |
|---|---|
SYSLIB1040 |
Uso de GeneratedRegexAttribute inválido. |
SYSLIB1041 |
Vários atributos GeneratedRegexAttribute foram aplicados ao mesmo método, mas apenas um é permitido. |
SYSLIB1042 |
A expressão regular especificada não é válida. |
SYSLIB1043 |
Um método GeneratedRegexAttribute deve ser parcial, sem parâmetros, não genérico, não abstrato e retornar Regex. |
SYSLIB1044 |
O gerador regex não pôde gerar uma implementação de origem completa para a expressão regular especificada devido a uma limitação interna. Confira a explicação na origem gerada para obter mais detalhes. |
SYSLIB1045 |
Use GeneratedRegexAttribute para gerar uma implementação de expressão regular no tempo de compilação. |
Para obter mais informações sobre a geração de origem para expressões regulares, consulte .NET geradores de origem de expressão regular.
Suprimir avisos
É recomendável que você use uma das soluções alternativas quando possível. No entanto, se você não puder alterar seu código, poderá suprimir o aviso por meio de uma #pragma diretiva ou uma <NoWarn> configuração de projeto. Se o diagnóstico do gerador de origem SYSLIB1XXX não aparecer como um erro, você poderá suprimir o aviso no código ou no arquivo de projeto.
Para suprimir os avisos no código (substitua a ID de diagnóstico conforme necessário):
// Disable the warning.
#pragma warning disable SYSLIB1006
// Code that generates compiler diagnostic.
// ...
// Re-enable the warning.
#pragma warning restore SYSLIB1006
Para suprimir os avisos em um arquivo de projeto (substitua as IDs de diagnóstico conforme necessário):
<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>