Eu tenho um projeto de instalação em .NET. Quando eu salvo o projeto e os outros projetos no subversion, o projeto de configuração não compila mais. Recebo o erro "Não é possível atualizar as dependências do projeto."
winforms
deployment
dependencies
setup-project
Jason N. Gaylord
fonte
fonte
Fechar o VS2010 e reabri-lo sempre funcionou para mim :)
fonte
Eu tive o mesmo problema, mas nenhuma das resoluções mencionadas parecia funcionar para mim. Reconstruir o projeto de configuração funcionaria, mas é uma dor, pois incluímos as saídas do projeto de mais de 30 projetos.
O que descobri para funcionar é uma abordagem muito semelhante ao que o @Marc fazia.
Em todos os casos, tive várias referências à mesma dll (não tenho certeza de como isso aconteceu)
Exemplo de referência correta:
Exemplo de referência incorreta:
Eu também recebi o mesmo aviso "Dois ou mais objetos têm o mesmo local de destino ('[targetdir] \ MyAssembly.dll')" que @Marc recebeu ... mas o projeto de instalação compila e funciona bem.
fonte
File
referências de montagem. Funcionou perfeitamente.O link correto para hot-fix para VS2010 é:
http://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=30681
Funciona bem após a instalação
fonte
Tive o problema semelhante e encontrei uma solução nesta discussão muito longa e antiga no MSDN .
Como o usuário 'Jeff Hunsaker' na quinta-feira, 26 de agosto de 2010 17:51 respondeu (link direto não é possível):
Observei quais dependências foram relatadas pelo Visual Studio e escrevi um script para corrigi-las caso isso seja necessário.
Observe que isso agora me dá um aviso "Dois ou mais objetos têm o mesmo local de destino ('[targetdir] \ MyAssembly.dll'). Mas eu posso viver com isso.
fonte
Isso resolveu o mesmo problema para mim: adicionei os assemblies que foram mencionados na mensagem de erro ao GAC. Quando recompilei o projeto, as dll's apareceram em "Dependências detectadas" no Solution Explorer e recebi o mesmo erro. Então eu excluí as dll's (clique com o botão direito e selecione Excluir) e o projeto finalmente compilado ok.
fonte
O problema pode ser causado por arquivos órfãos na seção "Implementável" -> "Arquivo" do arquivo .vdproj. Você pode verificar isso removendo todos os arquivos do projeto de instalação no Visual Studio (faça um backup primeiro). Se você abrir o arquivo .vdproj com um editor de texto e ainda vir as entradas na seção "Arquivo", você terá esse problema. Você pode anotar as chaves desses arquivos e removê-los do arquivo .vdproj original e deve funcionar novamente.
Como alternativa, compile este programa de correção rápida (testado apenas com Visual Studio 2010):
fonte
Consegui contornar esse problema removendo o projeto do instalador da solução e, em seguida, adicionando o projeto existente novamente.
fonte
Reiniciar o VS2010 não funcionou para mim, mas consegui fazer tudo funcionar fazendo uma 'Solução Limpa' e depois uma 'Solução de Construção'. No entanto, tentar 'Rebuild Solution' após a limpeza não funcionou. Então, eu poderia executar a solução com F5 normalmente.
fonte
Quando recebo esse erro, descubro que meu projeto de implantação do VS2010 (.vdproj) está 'corrompido'. Especificamente, os itens na seção FILE do arquivo VDPROJ têm GUIDs que estão faltando na HIERARQUIA seção do arquivo VDPROJ. Isso é descrito em detalhes abaixo.
1) Projetos de implantação VS2010 incluem as seguintes seções:
2) A seção HIERARQUIA contém GUIDs para cada item (por exemplo, arquivo) adicionado ao projeto de implantação. Além disso, cada arquivo adicionado ao projeto aparece como um item na seção DEPLOYABLE> FILE . O exemplo a seguir mostra uma configuração normal para o arquivo msimg32.dll . Observe o GUID correspondente (ou seja, _1C15DB39774F7E79C84F1CC87ECFD60A) nas seções HIERARQUIA e ARQUIVO .
3) Meus projetos de implantação do VS2010 podem ser corrompidos de duas maneiras:
a) Um item no seção ARQUIVO é duplicado e o item duplicado recebe um GUID que não aparece na seção HIERARQUIA .
b) O GUID associado a um item do ARQUIVO seção foi removido da seção HIERARQUIA (ou seja, o item na seção ARQUIVO é órfão).
3a) Exemplo de primeiro problema - item duplicado em ARQUIVO seção :
Neste exemplo, o arquivo msimg32.dll possui duas entradas na seção FILE . A primeira entrada (ou seja, correta) tem um GUID correspondente (ou seja, _1C15DB39774F7E79C84F1CC87ECFD60A) na seção HIERARQUIA , mas o GUID para a segunda (ou seja, erro) entrada (ou seja, 2DDC4FA12BFD46DEAED0053D23331348) não aparece na seção HIERARCHY .
3b) Exemplo de segundo problema - item órfão no ARQUIVO seção :
Neste exemplo, o arquivo msimg32.dll possui uma entrada na seção FILE . Mas o GUID associado a esta entrada (ou seja, A515046ADA6244F2A260E67625E4398F) não tem uma entrada correspondente (ou seja, está ausente) na seção HIERARQUIA .
4) Solução: Para ambos os problemas ilustrados acima, a solução é excluir o item órfão na seção ARQUIVO .
O exemplo a seguir mostra como a seção FILE no ponto 3a acima seria exibida após a segunda entrada para msimg32.dll ter sido excluída.
5) Encontrei que as entradas corrompidas no VDPROJ ocorreram apenas para:
fonte
Aqui estão algumas soluções que funcionam:
1) Remover uma das DLLs problemáticas do projeto de instalação e, em seguida, adicionar apenas aquela resolveu o problema para mim. Isso funcionou mesmo quando havia muitas DLLs com o problema. Remover e adicionar apenas um deles acionou o VS2010 para consertá-los de alguma forma.
2) Reconstrua a solução e tente atualizar as dependências novamente. A reconstrução ajuda o visual studio a descobrir quais são as dependências, porque ele pode estar lutando para encontrar as dependências sem nada construído.
3) Reinicie o Visual Studio
O hotfix VS2010 vinculado acima não funcionou para mim. Às vezes, reiniciar o VS2010 resolverá o problema e, quando isso não funcionar, siga as instruções acima.
fonte
Isso também pode acontecer quando você está tentando depurar e selecionou o modo Release. Me pegou agora :(
fonte
Eu gostaria de acrescentar que recebo o mesmo erro quando edito o projeto de implantação em meu computador em vez de no computador compilador dedicado.
A última vez que recebi esse erro, precisei reverter as últimas alterações e refazer a partir do computador compilador dedicado.
fonte