web-dev-qa-db-fra.com

ClickOnce - Impossible de publier car la construction d'un projet a échoué

Lorsque j'essaie de publier mon application (WPF, C #), j'obtiens les erreurs suivantes:
Impossible de publier car la construction d'un projet a échoué.
Impossible de trouver le fichier 'obj\x86\Debug\MyAPP.exe'

Je reçois ces erreurs où que je sois: assistant de publication, menu de construction ou clic droit sur projet - publier.
Au début, ça fonctionnait bien, mais j’ai fait ce qui suit:
J'ai changé la date de mon ordinateur au 10/10/2013, j'essayais autre chose.
J'ai oublié cela et je clique sur construire. Ensuite, je règle la date appropriée sur l'ordinateur. Après cela, je reçois ces erreurs.
De plus, chaque fois que je clique sur Exécuter, Visual Studio génère un projet, que des modifications y soient apportées.
J'ai aussi remarqué que lorsque je règle la date après le 10/10/2013, cela fonctionne bien.
Je suppose que je recherche des paramètres dans mon projet où cette date de construction est définie.
J'ai essayé de construire, reconstruire, solution propre. 

25
Rajko

Ho risolto il mio problema. Le problème était son tempérament "modifié" dans le fichier. Ho usato il programma Horodatage par risque.

Venez voir comment les choses se passaient, mais il y avait une époque où il était question de solution et d'ère des données dans le futur. Selon les motivations, merci pour votre départF5Visual Studio connectez-vous avec nous et publiez ClickOnce non funzionava.

2
Rajko

C'est un problème avec Visual Studio qui peut survenir lorsque des compléments sont installés. Au lieu d'utiliser le bouton Publier de l'onglet Publier, utilisez Construire/Publier dans le menu situé en haut de Visual Studio.

Si vous utilisez le bouton Publier, il parcourt les compléments avant de créer (ou quelque chose du genre). Si vous utilisez plutôt le menu Construire, il va directement à msbuild et ignore les compléments que vous avez installés. 

Si DevExpress est installé et que des problèmes persistent, consultez cet article: http://www.devexpress.com/Support/Center/p/Q260132.aspx

99
RobinDotNet

Avec la date de retour à la normale, fermez VS et essayez de supprimer vos fichiers * .suo en regard des fichiers * .sln puis rouvrez la solution

3
Alex Norcliffe

Je ne sais pas exactement comment votre machine de développement peut s'encrasser de cette façon, mais cela a commencé à se produire également pour plusieurs développeurs de notre groupe. 

Après des recherches, il apparaît que le script de génération/publication intégré utilisé par Visual Studio (2010 dans notre cas) présente une faille dans l’ordre dans lequel il fait les choses. Plus important encore, il exécute un nettoyage du répertoire OBJ en supprimant le fichier EXE cible avant que l'étape de publication ne puisse le récupérer.

La solution
C’est un peu une solution de contournement, mais elle a résolu le problème pour moi.

Le correctif consiste à copier le fichier dans le dossier /obj/ à partir du dossier /bin/ juste avant l'étape de publication. Malheureusement, je ne connais aucun moyen de spécifier un événement BeforePublish via l'EDI. Vous devez donc modifier le fichier .vbproj dans un éditeur de texte.

Ajoutez la section suivante juste avant la dernière balise </project>.

<Target Name="BeforePublish">
<Copy SourceFiles="$(TargetPath)" DestinationFolder="$(IntermediateOutputPath)" />
</Target> 
2
JohnFx

Créez simplement un nouveau certificat de manifeste ClickOnce, et cela fonctionnera à nouveau.

1
MU0r

Si rien ne fonctionne, essayez ceci:

  1. Réglez votre date à la date appropriée.
  2. Avec VS fermé, supprimez tous les dossiers bin et obj de votre solution.
  3. Créez une nouvelle solution vide.
  4. Ajoutez vos projets existants à la solution.
  5. Rajoutez les références nécessaires.
  6. Reconstruisez pour vous assurer de ne rien manquer.
  7. Publier.

Si vous le souhaitez, vous pouvez également simplement essayer les étapes 1, 2, 6, 7 avant si vous ne souhaitez pas créer une nouvelle solution.

1
Tipx

Dans mon cas, le problème se pose lorsque j'ai ajouté la section suivante dans le fichier .csproj:

<Target Name="AfterBuild">
</Target>
0
willyMon

J'ai eu cette erreur quand j'avais échangé des branches git. Une reconstruction a corrigé cela pour moi. 

0
user489998

Je viens de rencontrer le problème aujourd'hui. Dans mon cas particulier, cela était dû à Microsoft Windows Update , Avis de sécurité Microsoft 2661254 (concernant la longueur minimale de la clé de certificat).

J'ai désinstallé cette mise à jour et la publication a commencé à fonctionner comme toujours. Ceci est seulement un travail temporaire et signifie que vous devriez probablement régénérer vos clés/certificats.

0
UnhandledExcepSean

Fermer et ouvrir Visual Studio a fonctionné pour moi.

0
Doruk

J'ai parfois eu des problèmes avec la publication d'un projet ASP.NET, car l'assistant de publication ne pouvait pas supprimer les fichiers du répertoire dans lequel il essayait de publier les fichiers.

Essayez d'effacer ces fichiers manuellement avant la publication. Vérifiez également la fenêtre de sortie. cela vous indiquera parfois pourquoi la publication a échoué.

0
ptfaulkner