Per quanto posso dire, l'aggiornamento alla 4.5.1 non ha effettivamente risolto il problema. In effetti sono stato in grado di risolverlo lasciando il framework di destinazione a 4.5.
Ecco la magia nera che ho eseguito che sembrava risolverlo. Innanzitutto, disinstallare le 3 vecchie librerie MVC (come suggerito in this comment), reinstallare i nuovi, ricostruire. Almeno per questa parte potrei farlo nell'interfaccia utente dei pacchetti NuGet Manage, in cui l'aggiornamento non è riuscito nello stesso punto. A questo punto NuGet è felice, puoi compilare, ma la tua app non funzionerà.
Successivamente, assicurarsi di seguire assolutamente ogni passaggio nel Upgrade ASP.NET 4 document referenced in the other comment. Quando ho omesso accidentalmente un solo passaggio, ricevo strani errori non intuitivi (ovvio in retrospettiva). Ad esempio, è necessario aggiornare due file Web.config separati, root e uno nella directory Views. Devi trovare i vecchi numeri di versione e cambiarli manualmente in quello, dove la radice Web.config viene a volte riparata automaticamente per te. Altrimenti vedrei errori spaventosi come "regole di sicurezza dell'eredità violate dal tipo System.Web.WebPages.Razor.WebPageRazorHost" e così via. Dovrei aver copiato ogni messaggio di errore per i posteri, suppongo, ma il punto è che per ogni errore tornerei a quella guida all'aggiornamento, controlla i passaggi, mi rendo conto di averne perso uno, di correggerlo e di ottenere un nuovo errore fino a quando non sono tutti andato via.
Ci sono buone notizie. Almeno nel mio caso, nonostante tutti i terribili avvertimenti che devi trovare per trovare incompatibilità, il resto dell'app ha funzionato come prima senza alcuna modifica.
fonte
2014-04-30 21:57:38
Ottimo! Abbiamo appena effettuato l'aggiornamento da .NET 4.0 a 4.5, quindi proverò ad andare su 4.5.1 e vedere se questo aiuta. –
Grazie! Il targeting 4.5.1 e la rimozione e la reinstallazione del pacchetto hanno risolto il problema. Ora, ricevo errori di runtime quando carico il sito ma immagino che sia un problema separato. Segnando questo come risposta. –