c# - Il progetto viene compilato ma non può essere pubblicato




asp.net asp.net-mvc (7)

Prova ad aprire la soluzione con Visual Studio 2017

Avevo creato e pubblicato da Visual Studio 2015, poiché quella è la versione di Visual Studio che il Selettore di versione ha scelto quando ho aperto il file della soluzione.

Ho provato invece ad aprire il mio file di soluzione da Visual Studio 2017 e la pubblicazione è riuscita.

Ho un progetto MVC che per una ragione sconosciuta rifiuta di pubblicare su una cartella locale nel PC.

Il registro dice quanto segue:

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 ==========

Non ho avuto problemi a eseguire il debug in entrambe le versioni o config di debug.


Ci scusiamo per la riapertura del thread, ma per me La pulizia della soluzione ha funzionato su .NET.Compilers v2.7 (Visual Studio 2015).


Innanzitutto, selezionare la modalità (Debug o Rilascio). Quindi fare clic con il tasto destro sulla soluzione / progetto quindi selezionare Pulisci. Quindi scegliere Ricostruisci. Quindi pubblica.


Prova a rimuovere il pacchetto Nuget Microsoft.Net.Compilers .

Avevo provato molte cose, nessuna riuscita. L'ho fatto e la pubblicazione è riuscita. A dire il vero, ho ripristinato il mio progetto da BitBucket alle sue condizioni originali, testato per vedere la pubblicazione fallita, rimosso di nuovo il pacchetto nuget e ha funzionato.


Quindi l'ho fatto funzionare.

Il problema era la versione di "Microsoft.Net.Compilers". Ho effettuato il downgrade dalla v2.6.1 alla v2.4.0.

Non so perché, quindi se qualcuno sa che sarebbe bello saperlo.


Sono passato a C# 7.3 in Proprietà> Build> Avanzate , ma per errore l'ho fatto solo per la configurazione di Debug . Durante la pubblicazione (usando la configurazione della versione ) stava ancora usando C# 7.0 , che mancava di alcune delle funzionalità del linguaggio che avevo usato.

Gli errori non erano visibili nel riquadro Elenco errori , solo nel riquadro Output .

L'impostazione della versione della lingua su C# 7.3 per "Tutte le configurazioni" l'ha risolta per me.

Questo utilizzava la versione corrente di Visual Studio 2017, pacchetto Microsoft.Net.Compilers non incluso nel progetto.


il downgrade di "Microsoft.Net.Compilers" dalla v2.9.0 alla v2.4.0 funziona come un incantesimo





visual-studio-2015