13

Dopo aver aperto e compilato il seguente errore viene visualizzato il mio progetto VS 2010 .net 4.0 MVC3 in VS 2012 RTM. Come posso risolvere questo problema senza eseguire l'aggiornamento a MVC4?Assembly 'SomeAssembly, utilizza' System.Web.Mvc, Versione = 4.0.0.0, che ha una versione superiore rispetto all'assembly di riferimento 'System.Web.Mvc, Versione 3.0.0.0

Ho VS 2010 e VS 2012 installati fianco a fianco.

di errore 1 Assemblea 'SomeAssembly, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = null' usi 'System.Web.Mvc, Version = 4.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35', che ha una versione superiore assembly di riferimento 'System.Web.Mvc, Version = 3.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35'

+0

Correlati: http://stackoverflow.com/questions/10402005 –

+0

http://forums.asp.net/t/1800348.aspx/1 –

+0

http: //stackoverflow.com/questions/5163773 ... Tutti fondamentalmente lo stesso problema. –

risposta

7

Vai a riferimenti, Controllare la versione corrente di System.Web.Mvc (immagino sta ancora puntando a mvc3). Rimuoverli e aggiungere riferimenti ancora una volta, ma questa volta System.Web.Mvc 4.0 ..! Se si utilizzano più progetti in un'unica soluzione, quindi .. Ad es. avete due progetti ProjA (MVC4) e ProjB (ancora in MVC3), se ProjA ha un riferimento a ProjB o utilizza ProjB, quindi molto probabilmente darà l'errore sopra citato. Potrebbe essere necessario modificare le versioni MVC in entrambi i progetti.

+0

Per impostazione predefinita passa a dll di mvc 4.0 e l'ho modificato manualmente in entrambi i file csproj in 4.0 e in web.config. Non ha aiutato – kyleb

+0

Questo ha fatto per me. Il messaggio è criptico e non ti dice che l'errore è nel progetto di riferimento. – Chris

+0

Questo ha funzionato anche per me, ho aggiornato il mio MVC ASP.NET con Nuget e ha funzionato. – anansharm

11

Controlla il tuo web.config. system.web/assemblies ha la versione 3.0 anche se il progetto fa riferimento a 4.0.

È stato il caso per me.

21

Un'altra cosa da verificare è che non si dispone ancora di un progetto di test che faccia riferimento all'assieme mvc3 nella soluzione. Questo è quello che mi ha preso.

+1

Questo era il mio caso, il riferimento non è stato aggiornato perché è stato aggiunto manualmente, l'installazione del pacchetto con Nuget nel progetto di test è stata corretta. Grazie –

+0

Anche il mio problema. – Matt

1

Se si utilizza Visual Studio è possibile verificare la disponibilità di aggiornamenti per i pacchetti NuGet, che verranno aggiornati senza la necessità di fare confusione manualmente con Web.config. Seleziona strumenti -> Gestore pacchetti libreria -> Gestisci pacchetti NuGet per soluzione. Verifica di essere nella versione più aggiornata di MVC selezionando gli aggiornamenti nel riquadro a sinistra, quindi nell'elenco degli aggiornamenti cerca MVC e fai clic su Aggiorna. Al termine dell'aggiornamento, fare clic su build e build solution. Questo è stato il modo in cui ho risolto il problema che avevo tra MVC e il pacchetto Fluent Validation NuGet. E aggiorna automaticamente Web.config.

0

Utilizzo di asp.net 4.5 e problemi simili. Fare clic con il pulsante destro su Riferimenti e passare a Gestire pacchetti NuGet. Controlla se c'è un aggiornamento per il pacchetto con una versione obsoleta. Potrebbe chiedere di sovrascrivere i file ma va bene.

Problemi correlati