Question

Ok, j'ai donc VS 2008 et SVN. Quand je "reconstruis tous" une poignée de mes fichiers .dll disparaissent de mon dossier bin.

J'ai ces fichiers .dll dans un dossier de bibliothèque et c'est de là que je les référence.

Quand je vais publier l'application, la publication échoue, je pense qu'elles sont liées. Lorsque je redémarre mon web.config (change quelque chose et enregistre), cette erreur disparaît. Cependant, la publication échoue toujours.

Quand je vais dans le dossier et que je mets à jour, svn les remet tous bien sûr, mais ensuite cela se reproduit.

Merci.

Était-ce utile?

La solution

Je suppose que par "Bin" dossier, vous voulez dire l’emplacement de construction où Visual Studio assemble la version exécutable de votre application.

De manière générale, j’ai constaté que les modifications manuelles apportées au dossier Bin sont un bon moyen de faire face à "un nouveau monde douloureux". Mes problèmes ont disparu dès que j'ai commencé à laisser Visual Studio faire ce qu'il voulait avec le répertoire et je l'ai laissé tranquille.

Si vous avez des DLL référencées dans votre projet, marquez-les comme "Copier Local". (sélectionnez-les dans l'Explorateur de solutions, configurez-les dans le panneau Propriétés) et Visual Studio veillera à ce qu'ils soient copiés pour vous.

Remarque secondaire: comme le répertoire Bin est géré par Visual Studio et qu'il est parfaitement reproductible, je suggère qu'il (ainsi que son frère Obj) ne soit pas sous contrôle de source.

Autres conseils

Vous devez spécifier " Copie locale " sur vos références, cela les copiera du dossier de la bibliothèque dans votre répertoire bin. En règle générale, vous ne devez conserver qu'une seule copie des DLL dans le contrôle de la source (dans le dossier de la bibliothèque). Si vous contrôlez la source du dossier bin, vous risquez d’être confronté à des problèmes de construction.

On dirait que la procédure de construction supprime le contenu de votre répertoire bin lors de la construction.

Je ne comprends pas où vous dites les référencer à partir du dossier de la bibliothèque - et ils existent également dans le répertoire bin.

Votre publication peut échouer pour d'autres raisons. Il est donc très utile de publier les erreurs.

La mise à jour de SVN rétablit la dernière version des fichiers. Par conséquent, si vous n’avez pas de fichier, la dernière version est celle qui existe dans votre référentiel.

Points à vérifier:

  • Vous recevez probablement des erreurs sur votre construction. Il semble que les DLL soient générées par d'autres projets de votre solution. Vous devez donc vérifier si elles sont générées correctement ou si elles sont exportées dans un autre répertoire. de votre dossier bin.

  • Votre référentiel de subversion ne devrait probablement pas contenir de fichiers binaires ou intermédiaires tels que dll, lib, exe, suo, ncb et quelques autres, mais ce sont les principaux.

  • Publiez plus de détails ici. Il semblerait que vous ayez peut-être oublié des erreurs que vous n'avez pas publiées ici.

Je l’ai déjà vu lors de l’utilisation de Rebuild - je l’ai corrigé en marquant ces dll de référence comme étant ReadOnly dans leurs attributs d’explorateur.

Ouais, c'est hacky, mais ça a gardé les pattes de VS loin de mes dlls!

Vous avez probablement un site Web par défaut et non un projet d'application Web.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top