Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

DependencyWalker.DiscoverDependencies fails with System.ArgumentException: Item has already been added.

Aberta
#148 1 comentário 1 reação 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
35/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Estagnada
Stack de tecnologia
csharp, sql
Domínio
database

Direção de pesquisa

Comece em src/Microsoft/SqlServer/Management/Smo/DependencyTree.cs por volta da linha 198 e acompanhe DependencyWalker.DiscoverDependencies para entender como as entidades não resolvidas são usadas como chaves. Reproduza a falha com referências que diferem apenas na capitalização do nome do banco de dados e, em seguida, avalie a lógica comentada. A tarefa estará concluída quando a descoberta de dependências não lançar mais uma exceção quando referências não resolvidas equivalentes usarem capitalização diferente.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

We hit this when we had a few old stored procedures referring to the same dropped table with different casing for database name. I see commented out code at https://github.com/microsoft/sqlmanagementobjects/blob/main/src/Microsoft/SqlServer/Management/Smo/DependencyTree.cs#L198 that might have fixed this issue, not sure why it's been commented out though.

Microsoft.SqlServer.Management.Smo.FailedOperationException: Discover dependencies failed. 
 ---> System.ArgumentException: Item has already been added. Key in dictionary: 'Server[@Name='SERVER']/Database[@Name='database']/UnresolvedEntity[@Name='nonexisting_table' and @Schema='dbo']'  Key being added: 'Server[@Name='SERVER']/Database[@Name='DATABASE']/UnresolvedEntity[@Name='nonexisting_table' and @Schema='dbo']'
   at Microsoft.SqlServer.Management.Smo.DependencyTree..ctor(Urn[] urns, DependencyChainCollection dependencies, Boolean fParents, Server server)
   at Microsoft.SqlServer.Management.Smo.DependencyWalker.DiscoverDependencies(Urn[] urns, Boolean parents)
Linguagem predominante
C#
Estrelas
143
Forks
29
Métricas de merge de PRs
Nenhum PR com merge em 30d

Preparar o ambiente

Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de microsoft/sqlmanagementobjects

Todas as issues de microsoft/sqlmanagementobjects

Issues semelhantes

Mais issues de C#

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.