web-dev-qa-db-fra.com

Le projet se construit mais ne peut pas publier

J'ai un projet MVC qui, pour une raison inconnue, refuse de publier dans un dossier local sur le PC.

Le journal indique ce qui suit:

3>------ Publish started: Project: Admin, Configuration: Release Any CPU ------
3>Connecting to D:\Deploys...
3>Project "Admin.csproj" (GatherAllFilesToPublish target(s)):
3>    Building with tools version "14.0".
3>    Target "ValidateMSBuildToolsVersion" skipped. Previously built unsuccessfully.
3>Done building project "Admin.csproj" -- FAILED.
3>
========== Build: 2 succeeded, 0 failed, 1 up-to-date, 0 skipped ==========
========== Publish: 0 succeeded, 1 failed, 0 skipped ==========

Je n'ai eu aucun problème de débogage sur la version ou la configuration de débogage.

22
Hrodger

Je l'ai donc fait fonctionner.

Le problème était la version des "Microsoft.Net.Compilers". J'ai rétrogradé de la v2.6.1 à la v2.4.0.

Je ne sais pas pourquoi donc si quelqu'un sait que ce serait cool de savoir.

64
Hrodger

Désolé de rouvrir le fil, mais pour moi, le nettoyage de la solution a fonctionné sur .NET.Compilers v2.7 (Visual Studio 2015).

2
eLGi

rétrograder "Microsoft.Net.Compilers" de v2.9.0 à v2.4.0 fonctionne comme un charme

1

Tout d'abord, sélectionnez le mode (débogage ou libération). Cliquez ensuite avec le bouton droit sur la solution/le projet, puis sélectionnez Nettoyer. Choisissez ensuite Reconstruire. Publiez ensuite.

1
Jin Ginusuke

J'ai pu résoudre mon problème complètement en supprimant le package NuGet "Microsoft.Net.Compilers", plutôt que de rétrograder en 2.4.0.

(Pendant un certain temps, l'erreur de publication disparaîtrait si je redémarrais simplement VS, mais finalement cela cessait de fonctionner.)

1
zanussi

Essayez d'ouvrir la solution avec Visual Studio 2017

J'avais construit et publié à partir de Visual Studio 2015, car c'est la version de Visual Studio que le sélecteur de version a choisie lorsque j'ai ouvert le fichier de solution.

J'ai essayé d'ouvrir mon fichier de solution à partir de Visual Studio 2017 à la place, et cela a réussi à publier.

0
Nacht

Essayez de supprimer le Microsoft.Net.Compilers Paquet Nuget.

J'avais essayé beaucoup de choses, sans succès. Je l'ai fait et la publication a réussi. Pour être sûr, j'ai restauré mon projet de BitBucket à son état d'origine, testé pour voir la publication a échoué, supprimé à nouveau le package nuget et cela a fonctionné.

0
Michael Radicella

Cela vient de m'arriver, il s'est avéré être un cas simple d'utilisation d'un int dans un appel ViewComponent à partir d'un modèle de rasoir, alors que cet argument aurait dû être un Guid. Pour une raison quelconque, Intellisense ne l'a pas détecté, j'ai dû activer la verbosité détaillée pour voir l'erreur dans le processus de génération.

0
jmdon

J'ai eu ce problème dans Asp.net Core 2 MVC 2.1 Il n'y avait donc pas de Microsoft.Net.Compilers dans ma solution. J'ai essayé de reconstruire tous les projets, de décharger/charger à nouveau mais il n'y a pas eu de changement.

1) J'ai donc mis à niveau VS 2017 15.7.3 vers 15.8.7
2) Ensuite, tous les contenus du répertoire bin/release ont été supprimés de chaque projet dans la solution.
3) Puis supprimé tout le contenu du répertoire obj de chaque projet en solution.
4) Puis reconstruit tous les projets un par un.
Puis a essayé de publier et il a réussi.

Peut-être que si j'essayais à partir de l'étape 2 dans l'ancien Visual Studio, ce serait réussi.

0
Omer Faruk KAYA

J'étais passé à C# 7.3 dans Propriétés> Construire> Avancé , mais accidentellement seulement pour la configuration Debug. Lors de la publication (en utilisant la configuration Release), il utilisait toujours C# 7.0, qui manquait de certaines fonctionnalités linguistiques que j'avais utilisées.

Les erreurs n'étaient pas visibles dans le volet Liste d'erreurs, uniquement dans le volet Sortie.

Définition de la version linguistique sur C# 7.3 pour "Toutes les configurations" l'a résolu pour moi.

Il s'agissait de la version actuelle de Visual Studio 2017, Microsoft.Net.Compilers package non inclus dans le projet.

0
Ted Nyberg