J'ai lu beaucoup de questions mais je n'ai pas trouvé la bonne réponse pour moi.
En essayant de compiler un projet dans VS2012, j'ai le résultat suivant:
La commande "....\tools\bin\nuget pack Packages\Lib.Html.nuspec - OutputDirectory ....\bin\Zip\Packages -NoPackageAnalysis" s'est terminée avec le code 1.
J'ai cherché la ligne de code dans mon fichier .csproj, où devrait se trouver l'erreur, et il y a:
<Exec Command="$(ProjectDir)..\..\tools\bin\nuget pack $(ProjectDir)Packages\Lib.Html.nuspec -OutputDirectory $(OutputPath)Packages -NoPackageAnalysis" />
Qu'est-ce que je fais mal?
[EDIT] En lançant le débogage de ce projet et en ignorant les "erreurs de construction", j'ai une nouvelle alerte:
"Visual Studio ne peut pas démarrer le débogage car la cible de débogage '[chemin du projet.exe]' est manquante. Générez le projet et réessayez, ou définissez les propriétés OutputPath et AssemblyName de manière appropriée pour qu'elles pointent vers l'emplacement correct de l'assembly cible."
La première étape consiste à déterminer quelle est l'erreur en réalité. Pour ce faire, développez votre sortie MsBuild en diagnostic. Cela révélera la commande exécutée et, espérons-le, le message d'erreur complet.
Faites un clic droit sur le projet -> Propriétés -> Créer des événements
Supprimer le texte dans le bloc de texte en ligne de commande d'événement post-construction
Pour moi: j'ai un espace dans le nom du dossier de mon chemin G:\Other Imp Projects\Mi.....
Supprimer les espaces du dossier
Exemple: Other Imp Projects
- >> Other_Imp_Projects
ajoutez Quote (""
) pour votre chemin.
Exemple: mkdir "$(ProjectDir)$(OutDir)Configurations"
// voir les guillemets doubles
Cela s'appuie sur la réponse de JaredPar ... et concerne VS2017. Les mêmes options "Créer et exécuter" sont présentes dans Visual Studio 2017.
Je recevais, la commande "chmod + x" "" est sortie avec le code 1
Dans la fenêtre de sortie de la construction, j'ai cherché "Erreur" et trouvé quelques erreurs dans le même domaine général. J'ai pu cliquer sur un lien dans la sortie de la construction et constaté que l'erreur impliquait cette entrée dans le fichier .targets:
<Target Name="ChmodChromeDriver" BeforeTargets="BeforeBuild" Condition="'$(WebDriverPlatform)' != 'win32'">
<Exec Command="chmod +x "$(ChromeDriverSrcPath)"" />
</Target>
Dans la sortie de la construction, j'ai également trouvé un message d'erreur plus détaillé indiquant essentiellement qu'il ne pouvait pas trouver Selenium.WebDriver.ChromeDriver v2.36 dans le dossier des packages qu'il cherchait. J'ai vérifié les packages NuGet du projet et la version 2.36 était en effet dans la liste des packages installés. J'ai trouvé les fichiers de package pour 2.36 et modifié les attributs du dossier, des sous-dossiers et des fichiers de "Lecture seule" à "Lecture/écriture". Construit, mais même échec. Parfois, "mettre à jour" vers une version différente du paquet, puis revenir à la version d'origine peut corriger ce type d'erreur. J'ai donc "mis à jour" la référence dans les packages de gestion NuGet vers la version 2.37, construite, échouée, puis "mise à jour" à la version 2.36, construite et la construction a réussi sans le message d'erreur "chmod + x".
Le projet que je construisais était basé sur un modèle de projet Visual Studio pour l'outil de test Appium, nom de modèle "Develop_Automated_Test".
Vérifiez vos chemins: Si vous utilisez un serveur de construction séparé pour TFS (le plus probablement), assurez-vous que tous vos chemins dans le fichier .csproj correspondent aux - serveur TFS chemins . L'erreur ci-dessus s'est produite lors de l'archivage du fichier * .csproj lorsqu'il contenait des références à mes chemins de machine de développement et non aux chemins de serveur TFS.
Supprimer les commandes multilignes: Essayez également de supprimer les commandes multilignes des commandes unifilaires en XML à titre de précaution. J'ai eu le XML suivant dans le *. Proj qui a causé des problèmes dans TFS:
<Exec Condition="bl.."
Command=" Blah...
..." </Exec>
Changer le xml ci-dessus en ceci a fonctionné:
<Exec Condition="bl.." Command=" Blah..." </Exec>
Je sais que c'est trop tard pour sûr, mais cela pourrait aussi aider quelqu'un.
Dans mon cas, j’ai constaté que le fichier source était utilisé par un autre processus qui limitait la copie à la destination. J'ai trouvé cela en utilisant la commande Invite (il suffit de copier-coller la commande post-build dans la commande Invite et de l'exécuter, m'a donné les informations d'erreur).
Assurez-vous que vous pouvez copier à partir de la commande Invite,
Pour moi, dans VS 2013, je devais me débarrasser des références manquantes sous Références dans le projet d'interface utilisateur (MVC). Il s'avère que les manquants n'ont pas été référencés.
Essayez d'ouvrir Visual Studio en tant qu'administrateur.