Para atualizar as versões do jQuery, jQuery Validation e Unobtrusive Validation integradas no scaffolding de identidade do Blazor ASP.NET e remover dependências de CDN, siga os procedimentos técnicos descritos a seguir.
Passo 1: Atualizar a Ferramenta de Scaffolding
Primeiro, desinstale, reinstale e atualize a ferramenta dotnet-aspnet-codegenerator globalmente usando o CLI do .NET:
dotnet tool uninstall -g dotnet-aspnet-codegenerator
dotnet tool install -g dotnet-aspnet-codegenerator
dotnet tool update -g dotnet-aspnet-codegenerator
Verifique a versão instalada com o comando:
dotnet tool list -g
Isso exibirá informações como:
Package Id Version Commands
---------------------------------------------------
dotnet-aspnet-codegenerator 8.0.1 dotnet-aspnet-codegenerator
Passo 2: Compreender as Opções do Gerador de Identidade
A ferramenta aspnet-codegenerator suporta vários geradores. Para identidade, use o gerador identity. As opções disponíveis incluem:
Usage: aspnet-codegenerator [arguments] [options]
Arguments:
generator Nome do gerador. Verifique os geradores disponíveis abaixo.
Opções:
-p|--project Caminho para o arquivo .csproj no projeto.
-n|--nuget-package-dir
-c|--configuration Configuração do projeto (valores possíveis: Debug/Release)
-tfm|--target-framework Framework de destino a usar (nome curto da pasta, ex: net7.0).
-b|--build-base-path
--no-build
Gerador de Código Selecionado: identity
Opções do Gerador:
--dbContext|-dc : Nome do DbContext a usar ou gerar (se não existir).
--files|-fi : Lista de arquivos separados por ponto e vírgula para scaffolding. Use --list-files para ver as opções.
--listFiles|-lf : Lista os arquivos que podem ser gerados com a opção '--files'.
--userClass|-u : Nome da classe User a ser gerada.
--useSqLite|-sqlite : Sinalizador para usar SQLite em vez de SQL Server no DbContext.
--force|-f : Use esta opção para substituir arquivos existentes.
--useDefaultUI|-udui : Use esta opção para configurar a identidade e usar a Interface Padrão.
--layout|-l : Especifique um arquivo de layout personalizado.
--generateLayout|-gl : Use esta opção para gerar um novo _Layout.cshtml
Para mais detalhes, consulte a documentação oficial da Microsoft.
Passo 3: Atualizar Dependências para Projetos .NET 7
Se o seu projeto foi criado com .NET 7, é crucial atualizar o pacote NuGet Microsoft.AspNetCore.Identity.UI para a versão 7.0.16. Esta versão inclui bibliotecas JavaScript atualizadas, como jquery.validate.min.js v1.19.5, eliminando a necessidade de CDN.
Para aplicar a identidade padrão, navegue até o diretório do projeto e execute o comando de scaffolding. Por exemplo, supondo que o caminho do projeto seja C:\Projetos\MeuAppBlazor:
cd C:\Projetos\MeuAppBlazor
dotnet aspnet-codegenerator identity --useDefaultUI
Este comando gera arquivos de identidade no projeto. Após a geração, modifique os caminhos de referência nos arquivos resultantes para apontar para recursos locais em vez de CDN. Por exemplo, altere URLs de CDN para caminhos relativos como /Identity/lib/jquery/jquery.min.js.
Passo 4: Publicação e Verificação
Ao publicar o projeto, os caminhos /Identity/lib/... são gerados dinamicamente durante a compilação. As bibliotecas JavaScript (jQuery, etc.) são recursos internos do pacote Microsoft.AspNetCore.Identity.UI, portanto, atualizar este pacote é a maneira recomendada de atualizar essas bibliotecas. Por exemplo, atualizar de versões anteriores para 7.0.16 garante que as versões mais recentes sejam usadas sem CDN.
Alternativa: Substituição Manual de Arquivos
Outro método envolve substituir manualmente os arquivos JavaScript após a publicação. Após gerar a saída do projeto, localize a pasta wwwroot/Identity/lib e substitua os arquivos existentes (como jQuery e jQuery Validation) por versões personalizadas baixadas localmente. Isso inclui bibliotecas como Bootstrap. Essa abordagem permite usar versões específicas de JavaScript, independentemente da versão do pacote NuGet, mas requer repetição manual a cada publicação.