Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
A tabela seguinte mostra os IDs de diagnóstico para analisadores de geração de código-fonte regex em versões .NET 7 e posteriores.
SYSLIB1045 alerta-te automaticamente para locais onde podes usar geração de fonte para gerar a implementação do motor de expressões regulares em tempo de compilação. Os diagnósticos restantes alertam-no para erros relacionados com a utilização do gerador de fonte.
| ID de diagnóstico | Descrição |
|---|---|
SYSLIB1040 |
Utilização inválida GeneratedRegexAttribute . |
SYSLIB1041 |
Vários GeneratedRegexAttribute atributos foram aplicados ao mesmo método, mas apenas um é permitido. |
SYSLIB1042 |
A expressão regular especificada é inválida. |
SYSLIB1043 |
Um GeneratedRegexAttribute método deve ser parcial, sem parâmetros, não genérico e não abstrato, e retornar Regex. |
SYSLIB1044 |
O gerador de regex não pôde gerar uma implementação de origem completa para a expressão regular especificada devido a uma limitação interna. Veja a explicação na fonte gerada para obter mais detalhes. |
SYSLIB1045 |
Use GeneratedRegexAttribute para gerar a implementação de expressão regular em tempo de compilação. |
Para mais informações sobre a geração de fontes para expressões regulares, veja .NET geradores de fontes de expressões regulares.
Ocultar avisos
É recomendável usar uma das soluções alternativas sempre que possível. No entanto, se você não pode alterar seu código, você pode suprimir o aviso por meio de uma #pragma diretiva ou uma <NoWarn> configuração de projeto. Se o diagnóstico do SYSLIB1XXX gerador de código-fonte 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 (substituir o 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 num ficheiro de projeto (substituir os 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>