J'ai un projet d'application Web dans VS 2012 et lorsque j'utilise l'outil de publication Web, il se construit correctement mais ne copie aucun fichier vers la cible de publication (système de fichiers dans ce cas).
Si je regarde la sortie de la construction, je peux voir que tout est copié correctement dans obj \ Release \ Package \ PackageTmp \ mais alors tout ce que je vois dans la sortie de la construction est le suivant:
4> Projet de construction terminé "{Project} .csproj".
4> Suppression de fichiers existants ...
4> Dossier de publication / ...
4> ========== Build: 3 réussies, 0 échouées, 1 à jour, 0 ignorées ===== =====
========== Publier: 1 réussi, 0 échoué, 0 ignoré ==========
Même s'il indique que la publication a réussi, il n'y a pas de fichiers dans le répertoire cible pour la publication.
J'ai vu cela dans plusieurs projets et il semble parfois que les configurations Solution / Plateforme causent ce problème mais je n'ai pas été en mesure d'identifier une cause exacte à cela.
Quelqu'un d'autre a-t-il vu cela se produire ou a-t-il une idée sur la façon de faire fonctionner cela correctement?
METTRE À JOUR:
J'ai peut-être trouvé une solution pour cela. Je venais juste de recommencer et je jouais avec les paramètres de publication. Une fois que j'ai changé la configuration sélectionnée dans l'onglet Paramètres pour une autre configuration, puis pour revenir à celle que je voulais utiliser, tous mes fichiers ont recommencé à être publiés. Espérons que cela fonctionne sur d'autres projets à l'avenir.
MISE À JOUR 2:
J'ai posté un bug sur Microsoft Connect et entendu un développeur de l'équipe VS Web Developer. Il a déclaré qu'ils avaient corrigé ce problème dans leurs versions internes et publieraient bientôt une mise à jour de l'outil de publication qui résoudrait ce problème.
MISE À JOUR 3:
Cela a été récemment résolu avec Visual Studio 2012 Update 2
Réponses:
Cela peut être dû à des solutions / projets créés avec le RC de vs2012. Cela m'est arrivé il y a des mois et a résolu le problème en m'assurant que les configurations de génération de solution correspondaient aux configurations de mon projet ...
J'ai récemment rencontré le même problème lors de l'ouverture de la même solution créée à l'origine dans vs2012RC avec VS2012 Express pour le Web. J'ai fait exactement ce que l'affiche originale suggérait et cela a résolu mon problème.
Voici le fil qui m'a conduit à la réponse:
connect.microsoft.com/VisualStudio/feedback/details/746321/publish-web-application-fails
La réponse pertinente de la conversation ci-dessus qui m'a aidé était:
la source
Même problème. La solution de contournement consistait à modifier les paramètres de publication de Release à Debug. Republiez, puis revenez à Release ...
la source
Pour aller un peu plus loin. Vous avez deux fichiers qui sont créés lorsque vous créez un profil de publication.
NewProfile.pubxml
NewProfile.pubxml.user
Lorsque vous ouvrez un projet qui contient ces fichiers dans le dossier PublishProfile à partir d'un contrôle source, il n'a que le
.pubxml
fichier et non le.publxml.user
fichier, il crée donc le.publxml.user
fichier à la volée lorsque vous ouvrez le projet. Lorsqu'il crée le nouveau.publxml.user
à la volée, le xml ressemble à ceci:Lorsque vous créez un nouveau profil, il crée un fichier XML qui ressemble à:
Si vous prenez le
<PropertyGroup>
nœud et le placez dans le.pubxml.user
fichier, vos profils de publication recommenceront à fonctionner.la source
Une solution simple consiste à supprimer votre profil de publication et à en créer un nouveau.
lorsque vous faites un clic droit sur votre solution et sélectionnez publier, vous avez un ensemble de profils. supprimez-le et créez-en un nouveau.
cela va le réparer.
J'ai eu ce problème lors du passage de 2010 à 2012
la source
J'ai eu la même erreur et je change le paramètre de la version au débogage et le problème est résolu ..
la source
J'ai eu ce même problème mais aucune des réponses dans ce fil n'a fonctionné pour moi. Mon problème était qu'il existe un répertoire qui contient des fichiers HTML statiques générés dynamiquement (par mon application). Le répertoire entier n'était pas publié.
La solution qui a fonctionné pour moi a été trouvée ici :
la source
En effet, le fichier .pubxml.user contient les informations requises pour la publication et ce fichier n'est pas (et ne devrait pas) être inclus dans le contrôle de code source. Pour corriger ce bogue VS, copiez les informations du fichier .pubxml.user dans le fichier .pubxml. Les propriétés pertinentes sont:
Mettez-les dans votre .pubxml et vous devriez être prêt à partir.
la source
J'ai essayé toutes ces solutions mais c'est celle qui fonctionne à chaque fois.
Nous changeons simplement la "méthode de publication:" de "système de fichiers" en par exemple "Web Deploy", et la changeons immédiatement en "système de fichiers".
la source
J'ai (eu) le même problème pour plusieurs projets. Les seuls touchés semblent être des projets Web. La suppression et la recréation du profil ne résolvent le problème qu'une seule fois. De plus, la comparaison des publications générées par xml ne produit aucune différence, de sorte qu'il ne semble pas du tout lié au profil.
La solution de contournement mentionnée par OP pour modifier les problèmes de construction dans les deux sens semble être la seule solution fiable à l'heure actuelle.
la source
J'ai rencontré le même problème sur VS 2010, après avoir vérifié la sortie de publication, les journaux des événements, allumé et vérifié les journaux de Visual Studio, etc. J'ai ensuite décidé de supprimer la publication Web (via l'ajout / suppression) qui, je crois, avait été récemment mise à jour vers la v1. 0.30810.0. Cela a résolu le problème.
la source
Ici, nous avons eu le même problème.
Nous changeons simplement la "méthode de publication:" de "système de fichiers" en par exemple "Web Deploy", et la changeons immédiatement en "système de fichiers".
la source
Ce qui suit a fonctionné pour moi:
Changez simplement de Release> Debug> Release (ou vice-versa), puis publiez.
Pas besoin de supprimer, modifier, publier tout ce dont vous n'avez pas besoin.
la source
Mon problème était dans une mauvaise configuration du fichier myproject.csproj. Le fichier '_address-step1-stored.cshtml' n'a pas été copié lors de la publication. «Aucun» est devenu «Contenu», maintenant ça va.
la source
None
dans le fichier .csproj, ou étaient complètement manquants dans le projet (là mais pas "utilisés")! Cela explique pleinement pourquoi l'exécution locale a toujours fonctionné, mais la publication n'a jamais fonctionné. : DMême problème avec VS 2012 Pro avec une cible de publication sur disque. Projet utilisé pour publier correctement mais a commencé à faire ce problème où il n'a pas réussi à copier les fichiers dans le dossier de destination.
La solution était de modifier le profil de publication, de changer le mode de Release (Any CPU) pour déboguer puis de revenir à Release (Any CPU). Cette opération entraîne la réécriture du fichier PublishProfiles \ projname.pubxml.user (comme décrit ci-dessus). Il semble qu'il ait ajouté les éléments LastUsedBuild, LastUsedPlatform et TimeStampOfAssociatedLegacyPublishXmlFile sous le nœud du groupe de propriétés. Une fois la publication terminée, il ajoute un autre ItemGroup avec des fichiers individuels et des heures de publication.
la source
Cette action a réussi pour moi:
Tuez les profils de publication dans "Propriétés> Profils de publication> xxxx.pubxml" et réinitialisez à nouveau.
la source
Pour ce que ça vaut, j'ai finalement renoncé à me battre avec Web Deploy pour qu'il fasse ce que je voulais (copier des fichiers déployables et rien d'autre), donc je l'ai écrit dans PowerShell et je suis vraiment content du résultat. C'est beaucoup plus rapide que tout ce que j'ai essayé via MSBuild / Web Publish, probablement parce que ces méthodes faisaient encore des choses dont je n'avais pas besoin.
Voici l'essentiel ( littéralement ):
Dans mon cas, j'appelle cela dans un environnement CI (TeamCity), mais cela pourrait également être facilement lié à un événement post-build.
la source
J'ai trouvé que je pouvais contourner ce problème en changeant complètement l'emplacement cible d'obj / [release | stage | ..] en un nouveau chemin en dehors des dossiers de solution, par exemple c: \ deployment. Il semble que VS 2012 devenait confus et abandonnait peut-être quelque part pendant le processus de publication.
Mat
la source
J'ai eu le même problème récemment dans VS 2013 pour un projet MVC dans lequel j'ai importé Umbraco CMS. Je n'ai pas pu publier. La réponse ci-dessus m'a aidé, même si j'avais besoin d'un certain temps pour comprendre ce que je devrais réellement faire dans VS. Il avait besoin de quelques recherches, par exemple sur les blogs de la SEP pour le savoir. J'essaie de le dire simplement:
la source
J'ai une application Web avec plusieurs autres projets référencés dans la solution. J'ai déployé avec succès avec une seule configuration de publication plusieurs fois dans le passé. J'ai changé la configuration du projet de Debug à Release pour un projet qui avait été manqué dans le passé. La prochaine fois que j'ai tenté de déployer, j'ai eu ces symptômes, où la publication échoue silencieusement - elle ne fait rien et dit qu'elle a réussi:
Le seul moyen de le récupérer était d'effacer le profil de publication, de fermer Visual Studio pour le forcer à enregistrer la suppression, de le rouvrir et de recréer le profil de publication à partir de zéro. Une fois que je l'ai fait, je pourrais à nouveau publier correctement.
Win8 VS2012, ordinateur portable merdique.
la source
Dans Visual Studio 2012, le basculement entre les versions pose toujours des problèmes.
Nous avons ajouté un événement de pré-génération pour supprimer le
obj
dossier:del /s /f /q $(ProjectDir)\obj
et cela a résolu le problème de publication. Le nettoyage fonctionne parfois, mais pas toujours.la source
J'ai finalement trouvé la réponse par moi-même. Toutes les solutions ci-dessus ne fonctionnent pas pour moi.
Ce que j'avais fait, c'est que je déplace le projet pour conduire c changer le dossier du projet en quelque chose de plus court et le boom qu'il publie ..
la raison pour laquelle cela a échoué de mon côté est que j'avais un nom de projet / héritier très long.
C: \ Users \ user \ Desktop \ Compliance Management System \ ComplianceIssueManagementSystem \ ComplianceIssueManagementSystem
J'y avais pensé parce que parfois, quand j'extrayais un fichier rar, il disait que le nom / chemin était trop long. Je pensais que ce serait la même chose que Visual Studio 2012. et c'est le cas!
j'espère que cela vous aidera.
la source
Vérifiez votre projet actuel que si vous avez fait une copie de retour avec le même nom de classe et un nom de page différent (le nom de classe héritera du fichier copié). En fin de compte, cela confondra le compilateur !!!
CodeFile = "Consolidated.aspx.vb" Inherits = "Consolidated
la source
Aucune des solutions ci-dessus n'a fonctionné pour moi.
Mais j'ai remarqué que sur nos cinq projets ASP.NET MVC dans notre solution principale, quatre d'entre eux ont placé le package de déploiement au bon endroit, tandis que l'un l'a laissé sous obj \ Debug.
J'ai comparé les projets et j'ai trouvé un écart. La solution était de changer cela :
à ceci :
Après avoir effectué ce changement, les cinq projets ont placé leurs packages de déploiement au bon endroit.
(Désolé pour les longues files d'attente, mais je n'ai pas trouvé de meilleur moyen de les condenser.)
la source
J'ai rencontré cela avec la référence de service générée par Visual Studio fichiers de devenant trop longs en termes de longueur de chemin globale.
Les raccourcis en régénérant la référence de service à l'aide de svcutil.exe, en supprimant tous les fichiers de référence de service d'origine.
svcutil peut être appelé comme ceci:
My.Namespace doit être remplacé par l'espace de noms existant dans le proxy de service généré (généralement trouvé dans le fichier Reference.cs) pour éviter les erreurs de compilation.
http://myservice
doit être remplacé par l'URL du noeud final de service.la source
J'ai le même problème. Aucune des solutions ci-dessus n'a fonctionné pour moi.
la source
J'avais publié le site Web plusieurs fois. Mais un jour, lorsque j'ai modifié un fichier aspx puis essayé de publier le site Web, cela a abouti à un dossier publié vide.
Sur ma solution de contournement, j'ai trouvé une solution.
L'assistant de publication reflétera toute erreur lors de la publication mais ne copiera aucun fichier dans le dossier de destination.
Pour découvrir le fichier qui génère l'erreur, copiez simplement le contenu du dossier du site Web dans un nouveau dossier et démarrez Visual Studio avec ce site Web.
Maintenant, lorsque vous essayez de le publier, il vous donnera le nom de fichier qui contient des erreurs.
Corrigez simplement l'erreur dans le dossier du site Web d'origine et essayez de publier, cela fonctionnera comme auparavant.
la source
Suivez ces étapes pour résoudre:
Créez un nouveau profil et configurez-le avec les mêmes paramètres que votre profil existant.
Le projet sera désormais publié correctement. Cela se produit souvent à la suite d'un profil de publication contrôlé par la source à partir d'une autre machine qui a été créé dans une version plus récente de Visual Studio.
la source
CORRIGÉ - diverses solutions proposées ne fonctionnaient pas pour moi. Ce qui a fonctionné pour moi avec VS Community 2017, Windows Server 2012 R2 a été de modifier les variables d'environnement TEMP et TMP pour l'utilisateur, puis de redémarrer le système et de déployer à nouveau (le redémarrage de VS ne suffisait pas). Ces variables temporaires sont l'endroit où VS publie la publication temporaire.
Le redémarrage de Visual Studio après avoir changé les variables temporaires n'a pas fait l'affaire, il a fallu redémarrer le système.
la source
Première:
Lors de la publication, revérifiez ce que vous avez choisi.
cela devrait le faire. Ça l'a fait pour moi! :)
la source
Le plus simple est,
la source