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.
Este artigo descreve o código de erro MSB4006.
Texto da mensagem
MSB4006: There is a circular dependency in the target dependency graph involving target 'value'. MSB4006: There is a circular dependency in the target dependency graph involving target 'value'. Since 'value' has 'value' dependence on 'value', the circular is 'value'.
Descrição
O MSBuild tem mecanismos para especificar quais destinos são executados antes ou depois de outros destinos, incluindo BeforeTargets
e AfterTargets
atributos, e DependsOnTargets
atributos que especificam que um destino depende da saída de outro destino, portanto, precisa ser executado depois dele. O MSBuild usa essas informações para determinar a ordem de build de destino. Confira Ordem de build de destino.
Este erro ocorre quando você tem uma dependência circular no grafo de builds de destino. Há duas formas do erro, dependendo se o MSBuild foi capaz de identificar o problema de dependência específico ou não.
Esse erro também poderá ocorrer se você executar a tarefa MSBuild dentro de um destino, o que cria um build interno, e o build interno dependerá da compilação externa do projeto pai.
Resolução
Se o erro do MSBuild listar os destinos que causaram a dependência. Se estes forem destinos que você possui e pode modificar, examine os atributos AfterTargets
, BeforeTargets
e DependsOnTargets
desses destinos e altere algo para evitar dependência circular. No entanto, é importante alterar os destinos da maneira certa. Consulte a lógica de ordem de build de destino para entender como o MSBuild determina a ordem de build e, em seguida, analise se as dependências são expressas corretamente.
Se a mensagem de erro não especificar os destinos específicos envolvidos na dependência circular, tente ativar os diagnósticos detalhados (use a opção -v:diag
na linha de comando) ou tente usar o registrador binário e visualizá-lo no visualizador de log estruturado.
Aplica-se a
Todas as versões do MSBuild