87 votes

« Impossible de mettre à jour les dépendances du projet » après commettre à Subversion

J’ai un projet d’installation dans .NET. Lorsque j’enregistre le projet et les autres projets à la subversion, le projet de programme d’installation ne compile plus. J’obtiens l’erreur « Impossible de mettre à jour les dépendances du projet. »

Aucune idée pourquoi ?

93voto

Chuck Claunch Points 856

Fermeture VS2010 et puis réouverture il a toujours travaillé pour moi  :)

50voto

msergeant Points 2939

Il y a un fil de la longue discussion à ce sujet sur MSDN. Il semble qu’il y a beaucoup de causes possibles. La discussion inclut quelques liens pour ce problème de Microsoft. Voici un correctif pour VS2005 et Voici une solution de contournement pour VS2010.

33voto

Jabezz Points 684

J'ai eu le même problème, mais aucune de ces résolutions semblait fonctionner pour moi. La reconstruction de la configuration du projet, mais c'est une douleur, depuis que nous avons porté le projet à des sorties de+ de 30 projets.

Le truc que j'ai trouvé du travail est une approche très semblable à ce que @Marc l'a fait.

  1. J'ai noté ce qui dépendances ont été signalés par Visual Studio comme des erreurs
  2. Modifier la .vdproj fichier dans Notepad++
  3. Recherche pour l' .dll qui est de donner à des questions. Vous verrez un "ScatterAssemblies" section. Si elle est vide, supprimer la dll de référence
  4. Enregistrer le fichier

Dans tous les cas, j'ai eu de multiples références à la même dll (je ne sais pas comment c'est arrivé)

Exemple de référence:

"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_11EC89A306FFB83A269ACC2BF8D8462B"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
"AssemblyAsmDisplayName" = "8:Some.OrOther.Lib, Version=1.601.4042.16978, Culture=neutral, processorArchitecture=MSIL"
                "ScatterAssemblies"
                {
                                "_11EC89A306FFB83A269ACC2BF8D8462B"
                                {
                                "Name" = "8:Some.OrOther.Lib.dll"
                                "Attributes" = "3:512"
                                }
                }
"SourcePath" = "8:Some.OrOther.Lib.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_79891234C744498C83755DDEA682F0BF"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}

Exemple de référence incorrecte:

"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_11EC89A306FFB83A269ACC2BF8D8462B"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
"AssemblyAsmDisplayName" = "8:Some.OrOther.Lib, Version=1.601.4042.16978, Culture=neutral, processorArchitecture=MSIL"
                "ScatterAssemblies"
                {
                }
"SourcePath" = "8:Some.OrOther.Lib.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_79891234C744498C83755DDEA682F0BF"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}

J'ai aussi eu le même "les Deux objets ou plus ont le même emplacement cible ('[targetdir]\MyAssembly.dll')" avertissement @Marc a été fait ... mais le projet d'installation compile et fonctionne très bien.

10voto

Pranav Singh Points 3190

Le lien correct pour le correctif logiciel pour VS2010 est:

http://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=30681

Fonctionne bien après l'installation

6voto

Marc Points 2477

J'ai eu le même problème et a trouvé un fix dans cette très longue et ancienne discussion sur MSDN.
En tant qu'utilisateur 'Jeff Hunsaker" jeudi, août 26, 2010 5:51 PM répondu (lien direct):

J'ai juste rencontré lors de la mise à niveau de Visual Studio 2008 des Projets de Déploiement de VS 2010. Hans " (ci-dessus) solution a fonctionné pour moi.

  1. Modifier la .vdproj fichier dans le bloc-notes.
  2. Recherche pour "SourcePath" = "8:
  3. Pour chaque assembly/dll, fournir le chemin d'accès complet
  4. Enregistrer le fichier

Au sein de mon .vdproj fichier, j'ai eu plusieurs entrées simplement de référencement de l'assemblée:
"SourcePath" = "8:MyAssembly.DLL"

Même si Visual Studio [en quelque sorte] connaissait l'emplacement du fichier, j'ai reçu le "Impossible de mettre à jour les dépendances du projet" erreur jusqu'à ce que j'ai fourni le chemin d'accès complet:

"SourcePath" = "8:..\..\..\build\bin\MyCompany.MyAssembly.DLL"

En ce qui concerne,

Jeff...

J'ai noté ce qui dépendances ont été signalés par Visual Studio et a écrit un script pour corriger dans le cas où cela est nécessaire.

Notez que cela me donne un avertissement "deux ou plus de Deux objets ont le même emplacement cible ('[targetdir]\MyAssembly.dll'). Mais je peux vivre avec ça.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X