Come determinare il motivo per cui Visual Studio potrebbe saltare i progetti durante la creazione di una soluzione


92

Sto eseguendo il debug del lavoro di qualcun altro e la soluzione è piuttosto ampia. Quando provo a costruire l'intera cosa, diversi progetti all'interno della soluzione non vengono compilati e saltano. La visualizzazione della finestra di output durante il processo di compilazione dice:

1> ------ Saltato Ricostruisci tutto: Progetto: pr1lib ------

Come posso determinare il motivo per cui queste build sono state ignorate? Non riesco a trovare output aggiuntivo.

Questo è con VS2008 e la soluzione è composta da codice c # e c ++.


Oltre alle risposte fornite, assicurati che le impostazioni di configurazione della soluzione abbiano ogni progetto nello stato selezionato (la casella di controllo è selezionata) che dovrebbe essere pulito / costruito:Build > Configuration Manager: check as needed
Metro Smurf

2
Per risolvere i motivi per cui i progetti vengono ignorati. Assicurati di aggiungere /flalle impostazioni di compilazione per ottenere un file msbuild.log che includa il motivo. Ad esempio:skipped, due to false condition; ( ('$(Configuration)' == 'Release') and ('$(Platform)' == 'Any CPU') ) was evaluated as ( ('Debug' == 'Release') and ('AnyCPU' == 'Any CPU') ).
T_D

2
@ T_D - dove in Visual Studio dovrei aggiungere "/ fl"? Dove apparirà il registro? Se lo aggiungi come risposta, sarò a favore, poiché la maggior parte delle altre risposte sono varie ipotesi casuali per affrontare il problema piuttosto che rispondere alla domanda originale, che era semplicemente di ottenere maggiori informazioni sul problema.
PaulG

@PaulG Vedi la mia risposta qui sotto. Basta impostare le impostazioni nelle Opzioni.
Darren Wood,

Risposte:


85

Fare clic con il pulsante destro del mouse sulla soluzione, selezionare Proprietà e quindi Proprietà di configurazione. Qui puoi scegliere quali progetti realizzare.

[ modifica ]:
vedere il commento di Kdt: ... quando ho guardato nelle proprietà di configurazione ... l'obiettivo di compilazione del progetto era configurato per "piattaforme miste" mentre la soluzione era impostata per creare "qualsiasi CPU".

* Quando mi è capitato questo problema, il progetto principale aveva solo "Any CPU" e impostava anche la dll figlia su "any CPU", tuttavia, avevo eliminato quel profilo e avevo lasciato solo "x86". Scegliendo x86 solo per la dll, inizia a funzionare
[/ edit]


20
Stavo avendo un misterioso "Skipped build", e quando ho guardato nelle proprietà di configurazione il progetto era effettivamente contrassegnato per build. Tuttavia, l'obiettivo di compilazione del progetto è stato configurato per "Piattaforme miste" mentre la soluzione è stata impostata per creare "Qualsiasi CPU" - la modifica di questi per adattarli ha risolto il problema.
kdt

2
Nel mio caso, sebbene tutti i progetti e la soluzione fossero tutti impostati su "Qualsiasi CPU", la costruzione di un progetto è saltata. È stato solo dopo aver impostato la soluzione su "Piattaforme miste" e poi di nuovo su "Qualsiasi CPU" che sarebbe stata costruita. Guardando un diff del file della soluzione prima e dopo, è cambiato da {784BDC39-5783-4128-956E-99EA062FA8FB}.Debug|AnyCPU.ActiveCfg = Debug|AnyCPUa {784BDC39-5783-4128-956E-99EA062FA8FB}.Debug|AnyCPU.ActiveCfg = Debug|Any CPU. L'unica differenza è lo spazio aggiunto tra "Any" e "CPU" alla fine della riga.
Simon Tewsi

5
Nel mio caso, tutti i progetti sono stati impostati su "Qualsiasi CPU" e il problema è stato risolto rimuovendo i progetti (la rimozione del progetto non causa la rimozione dei file) e aggiungendoli nuovamente alla soluzione.
Hamid Mayeli

41

Ho appena avuto lo stesso problema: "unload project" e "reload project" hanno risolto il problema!


Ho lo stesso problema e lo scarico / ricarica funziona, ma il problema sembra ripresentarsi, il che è fastidioso quando capita a un sacco di progetti e devi scaricarli / ricaricarli ... Qualcuno sa se c'è un modo per evitarlo del tutto?
Liron

Questo ha risolto il problema per me quando Visual Studio riportava erroneamente i progetti come già aggiornati nella finestra di output, quando si tentava di eseguire una compilazione.
Kevin Laity

28

Le operazioni di compilazione, ricostruzione e pulizia venivano ignorate. Lo scaricamento e il ricaricamento non sono stati d'aiuto e nemmeno il riavvio di Visual Studio.

Una volta rimosso il progetto dalla soluzione e aggiunto di nuovo, non viene più ignorato. Per rimuoverlo, in Esplora soluzioni, fare clic con il pulsante destro del mouse sul progetto> Rimuovi> OK. Per aggiungerlo di nuovo, in Esplora soluzioni, fai clic con il pulsante destro del mouse sulla soluzione> Aggiungi> Progetto esistente e seleziona il tuo progetto


6
Tieni presente che dovrai aggiungere nuovamente tutti i ProjectReferences a quel progetto.
Joseph

9

Se la configurazione è x64 e il compilatore x64 non è installato, salterà il progetto.


1
+1 Genio. Puoi trovare SP1 qui: microsoft.com/download/en/details.aspx?id=10986
ashes999

Quando il compilatore x64 non è installato, non è nemmeno possibile selezionare x64.
Calmarius

La soluzione e le configurazioni del progetto possono definire e utilizzare una voce denominata "x64". Il 3 ° ddl per l'arch. Del processore (target della piattaforma - a metà della pagina delle proprietà di build) è quello che non è disponibile
StingyJack

9

La mia soluzione è la stessa di cui sopra: Elimina -> Aggiungi progetto esistente

Ma questa soluzione implica che i riferimenti tra i progetti vengano eliminati

Per evitare di aggiungere nuovamente riferimenti: e nel caso in cui si utilizzi un sistema di controllo della versione come GIT o TFS o altro, è possibile raggiungere l'obiettivo con i seguenti passaggi:

  1. Assicurarsi che tutte le modifiche vengano confermate / archiviate prima dell'operazione

  2. Esegui tutti i progetti eliminandoli dalla soluzione e aggiungendoli-esistenti

  3. Notare che il file .sln è stato modificato

  4. Conserva il nuovo file .sln, ma annulla le modifiche a tutti i file .cspoj con il sistema di controllo della versione



5

Lo studio visivo 2008, può essere perché il compilatore a 64 bit non sarebbe stato installato.

Pannello di controllo -> Programmi e funzionalità -> Microsoft Visual Studio 2008 professional -> [doppio clic]

Nella finestra di dialogo di Visual Studio

Avanti -> Aggiungi / rimuovi funzionalità -> (sotto) Visual C ++ -> (seleziona) compilatore x64 e strumenti


3

Ehi, ho appena aggiustato questo. Ho pensato che potrebbe aiutare. Molto probabilmente non hai installato i compilatori corrispondenti insieme allo studio visivo. Questo è successo a me oggi: per impostazione predefinita, il programma di installazione di VS 2008 non installa il compilatore x64 C ++.

Se hai SP1, disinstallalo prima di modificare l'installazione di VS. Al termine, installare nuovamente SP1.


3

Il problema esiste anche in VS 2010; delle soluzioni proposte: modificare la configurazione della build, pulire, cambiare / ri-cambiare il framework di destinazione, NON funzionano. Ma scaricare e ricaricare il progetto lo fa.


2

Vai al menu di costruzione e scegli "gestore di configurazione". Questo mostrerà quali progetti sono configurati per costruire nella configurazione selezionata.


2

Mi è appena successa una cosa simile. Non sono sicuro di quale fosse il problema, ma non sarebbe Clean , Build , Rebuild , ecc. Sto operando in Visual Studio 2017 e volevo un netstandard2.0assembly. Il problema per me era che in qualche modo il tipo di progetto non era corretto, forse ho iniziato da una netcoreapplibreria di classi, qualcosa del genere, bloccato nel file Solution , non ricordo. Ad ogni modo, ho eseguito il backup del progetto, creato un nuovo netstandardprogetto di libreria di classi e preso in considerazione i bit di backup e questo ha risolto il problema. HTH qualcuno.


2

Ne ho avuto uno strano che potrebbe valere la pena documentare tra le altre possibilità qui ..

Avevo aggiunto un progetto condiviso alla mia soluzione, con il codice utilizzato in due o tre degli altri progetti. Come saprai, i progetti condivisi sono solo codice e non sono realmente un progetto nel senso tradizionale del termine. Non puoi "costruire" un progetto condiviso, è solo codice che è incorporato negli altri progetti e quindi costruito lì.

Ma in qualche modo il mio file di soluzione era stato aggiornato come se il progetto condiviso fosse una cosa propria che doveva essere costruita. Immagino quindi che ogni volta che stavo cercando di compilare e non avevo cambiato il codice nel progetto condiviso, quindi ho pensato che "non è cambiato nulla, salta quelle build"

Ho trovato il progetto condiviso nel solution.slnfile come:

Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Api.Common", "Api.Common\Api.Common.shproj", "{EC580471-D78A-4509-AC46-BD565553AD60}"

..che va bene. Quello che non va bene è che questo progetto è apparso anche in GlobalSection(ProjectConfigurationPlatforms) = postSolutionlike:

    {EC580471-D78A-4509-AC46-BD565553AD60}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
    {EC580471-D78A-4509-AC46-BD565553AD60}.Debug|Any CPU.Build.0 = Debug|Any CPU
    {EC580471-D78A-4509-AC46-BD565553AD60}.Release|Any CPU.ActiveCfg = Release|Any CPU
    {EC580471-D78A-4509-AC46-BD565553AD60}.Release|Any CPU.Build.0 = Release|Any CPU

Ho rimosso quelle quattro righe dal mio .slnfile e ora le cose sembrano di nuovo felici


Grande! Era questo! Ho rimosso ogni riga dal file .sln che iniziava con una riga che diceva solo "Global" e ho rimosso tutte le righe fino a "EndGlobal". Poi ha funzionato di nuovo.
Ted

2
  1. Chiudi Visual Studio
  2. Apri il file sln con il blocco note
  3. elimina tutte le cose come questa: {B546C55D-9321-4FC0-B25C-46844222BEBE}. Debug con Fakes | x86.ActiveCfg = Debug con Fakes | x86 (ce ne saranno un mucchio)

4.Salva il file 5.Apri Visual Studio e tutto meglio


2
Perché questo aiuta? Aggiungi qualche spiegazione e sii il più dettagliato possibile in modo che i futuri lettori possano aiutarti a capire perché hai bisogno di compiere quei passaggi.

2

Ho aggiornato alla 15.9.11, ... dopo alcune build, stesso problema: la maggior parte dei progetti vengono saltati (che vengono compilati un secondo fa senza problemi). Scaricare / ricaricare la soluzione aiuta sempre nel mio caso, ma succederà di nuovo presto.

Non ho idea del perché ... tranne un grosso bug in VS2017

Ho controllato il Configuration Manager, tutti i segni di spunta sono impostati su build.

Forse ha qualcosa a che fare con i pacchetti nuget, ma è solo un'ipotesi

La soluzione ha solo c ++ / vcxproj, no csproj. 64 e 32 sono installati entrambi


2

La prima cosa che devi fare è diagnosticare perché la build salta i progetti. Quindi, per ottenere un output di compilazione dettagliato, modificare la verbosità in detailednel seguente punto in Visual Studio.

inserisci qui la descrizione dell'immagine


7
Le impostazioni di verbosità non aiutano purtroppo. L'output dice ancora solo "progetto saltato" senza spiegare il motivo.
PaulG

1

Ha avuto lo stesso problema, ha scoperto che l'impostazione del progetto era per la CPU Itanium, cambiandola in Intel l'ha risolta.


1

Stavo riscontrando lo stesso problema con VS2005, tutte le configurazioni erano corrette. Stava anche saltando il comando Pulisci progetto.

Alla fine lo scaricamento / ricaricamento ha fatto la magia.


1

Fare clic con il pulsante destro del mouse su Soluzione in Esplora soluzioni, quindi fare clic su Proprietà nella parte inferiore del menu. Nella finestra delle proprietà, fare clic su Proprietà di configurazione -> Configurazione nel riquadro di sinistra, vedrai l'elenco dei progetti nel riquadro di destra, assicurati che la casella di controllo Build sia selezionata nella finestra popup.


1

Se la soluzione contiene un file di progetto NuGet (* .nuproj), prova a scaricarlo e quindi a ricostruire la soluzione.

Questo ha funzionato per me dopo che nessuno dei precedenti ha funzionato.


0

Trovo che a volte quando hai la piattaforma di destinazione impostata su x86 nella tua soluzione e nei tuoi progetti, il progetto in realtà non è sempre stato selezionato.

Per ricontrollare, vai alle proprietà del progetto e vedi se puoi selezionare quella piattaforma nelle impostazioni Build-> Platform, se non puoi, dovrai andare al gestore di configurazione e creare quella configurazione.


0

Ho avuto questo problema con alcuni progetti Windows CE su un nuovo PC. "Unload project" e "Reload project" sembravano risolvere il problema, ma in realtà Visual Studio era semplicemente passato a una piattaforma diversa e l'ha costruita.

Si è scoperto che sebbene la mia piattaforma WinCE fosse mostrata come piattaforma attiva, Visual Studio non la vedeva "veramente". La soluzione era reinstallare WinCE SDK con privilegi di amministratore :

  • Assicurati che Visual Studio 2008 non sia in esecuzione.
  • Aprire un "Prompt dei comandi di Visual Studio 2008" come amministratore. Su Windows 7, fai clic con il pulsante destro del mouse sulla scorciatoia e seleziona l'opzione "Esegui come amministratore".
  • Immettere il seguente comando: msiexec /log SDKInstallLog.txt /package <the path to your .msi file>
  • Quando ti viene chiesto se desideri eseguire un'installazione personalizzata o completa, scegli un'installazione personalizzata e istruisci l'installatore di omettere l'installazione della documentazione (questo passaggio non era necessario nel mio caso; infatti ho solo chiesto di "riparare" l'installazione esistente. )
  • Installare

0

VS 2008 salterà le destinazioni x64 se non è installato il compilatore x64. VS 2008 non lo fa per impostazione predefinita. Una specie di duh, cosa.


0

Ho avuto un problema molto simile dopo aver generato un progetto da un decompilatore di Telerik, quindi ho provato a ricompilarlo. Il progetto è stato ignorato ogni volta che ho provato a ricostruirlo. Ho provato molti dei suggerimenti sopra, ma per me era il .NET Framework selezionato nelle proprietà del progetto.

Fare clic con il pulsante destro del mouse sul progetto nel file della soluzione, selezionare proprietà, scheda dell'applicazione, modificare il framework di destinazione da 4.0 a 3.5.

Quindi, ricostruisci e ho un sacco di errori di riferimento dell'assembly mancanti, il che ha senso dal momento che non ho ancora aggiunto riferimenti ad essi.


0

Ho aggiornato un piccolo aggiornamento di Visual Studio 2017 e quindi il programma di installazione mi ricorda di riavviare il computer, ma non ho riavviato.Quando creo il mio progetto o la mia soluzione in Visual Studio 2017, incontro lo stesso problema di cui sopra.Immagino che l'aggiornamento forse la chiave, quindi riavvio il computer, l'ho fatto.:>


0

Ho avuto questo problema in Visual Studio 2017 15.9.4 e dopo un po 'di ricerca e di tempo ho scoperto che nella mia soluzione il file .csproj di uno dei progetti è stato danneggiato dopo l'unione in TFS. (Potrei costruire altri progetti scaricando il progetto problematico dalla soluzione). Il modo in cui ho risolto il mio problema è stato che ho confrontato il file .csproj prima e dopo l'unione e l'ho risolto. E per correzione intendo che dal momento che il tipo del mio progetto era .netStandard, ho rimosso le righe non necessarie tra cui Configuration PropertyGroup , tutto e altri nel nuovo file .csproj per renderlo simile alla precedente versione in stile .netstandard.


0

Ho avuto un problema simile, avevo un progetto che non poteva caricare in Esplora soluzioni per qualche motivo. Quando ho caricato quel progetto ha funzionato a meraviglia.


0

Mi sono appena messo nei guai:

Avevo aggiornato VS 2017 all'ultima versione 15.9.11 e alcuni dei miei progetti sono stati aggiornati a .net core 2.2. Inizialmente ho caricato tutti i progetti che ho provato a costruire / pulire / ricostruire e tutto è stato saltato. Seguito quanto segue per risolvere:

  1. Ho scaricato ogni progetto e li ho ricaricati.
  2. Chiuso tutte le istanze di VS e aperto VS come amministratore (fai clic con il pulsante destro del mouse sulla scorciatoia e seleziona l'opzione "Esegui come amministratore")

È tutto di nuovo in azione e sono stato in grado di realizzare tutti i progetti con successo.


0

Lo studio visivo 2017

Dopo aver aggiunto la configurazione nel Configuration Manager

Fare clic con il pulsante destro del mouse su Progetto -> Solo progetto -> Solo build / Solo ricostruzione / Solo pulizia

se tutte le altre impostazioni sono corrette.


0

Problema: Rebuilding, Build, Clean saltava tutti i miei progetti tranne due di essi.

Soluzioni che non hanno funzionato per me:

  1. Le impostazioni di configurazione della soluzione erano come previsto, quindi nessuna modifica in esse ha aiutato.

  2. Scaricare e ricaricare non ha funzionato.

Motivo dell'evento:

Questo accadeva perché il framework .NET di destinazione era più alto (4.7) per quei 2 progetti ma più basso per gli altri progetti. Inizialmente era apparso un prompt che mi chiedeva di installare .NET 4.7, cosa che ho fatto, ma si è scoperto che non era in grado di riconoscere che è installato senza riavviare la mia macchina.

Soluzioni che hanno funzionato:

  1. Il riavvio della mia macchina ha funzionato. Dopo il riavvio ha riconosciuto correttamente che .NET 4.7 è installato.
  2. In alternativa, il downgrade del framework di destinazione del progetto facendo clic con il pulsante destro del mouse sul progetto -> Proprietà -> Applicazione -> Framework di destinazione e impostandolo come gli altri progetti che venivano ignorati, ha anche risolto il problema.

Suggerirei di installare l'ultimo .NET Framework e di riavviare la macchina per evitare di incorrere in ulteriori problemi.


0

Salterà le compilazioni su tutti i progetti che hanno progetti dipendenti che non sono stati compilati.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.