Ricevo l'errore
Impossibile caricare il tipo MvcApplication
quando provo a gestire il mio sito Web.
Come correggerlo?
Ricevo l'errore
Impossibile caricare il tipo MvcApplication
quando provo a gestire il mio sito Web.
Come correggerlo?
Risposte:
Per quanto sembri stupido, ha provato di tutto e non ha funzionato e infine riavviato VS2012 per vederlo funzionare di nuovo.
-Per me, la correzione era cambiare il percorso di output nella scheda build. Ho cambiato il percorso di output in bin\
e l'errore è andato via.
-Un'altra soluzione potrebbe essere che hai impostato il progetto di avvio sbagliato.
Stavo ottenendo lo stesso errore e nonostante il fatto di aver fatto tutto ciò che è stato menzionato qui e altrove, nulla ha funzionato. Si è scoperto che avevo copiato il codice sorgente di global.asax.cs da una versione precedente del progetto che aveva un nome diverso. Quindi namespace Test
avrebbe dovuto essere namespace Test.WebUI
. Un errore sciocco ovviamente e sono un po 'imbarazzato a scrivere questo! Ma scrivendo nella speranza che un errore simile da parte di chiunque altro possa portarlo a controllare anche questo aspetto banale.
Basta fare un build manuale sulla tua soluzione.
Se si utilizza IIS locale, provare a eliminare la registrazione del sito Web in Gestione IIS e quindi ricrearla manualmente.
[Estratto dalla domanda]
Se ricevi questo errore: "Impossibile caricare il tipo MvcApplication", osserva il percorso di output del tuo progetto e assicurati che sia impostato su 'bin \'. Il problema è che AspNetCompiler non è in grado di trovare i file se non si trovano nella posizione predefinita.
Un altro effetto collaterale della modifica della cartella di output è che non sarà possibile eseguire il debug del codice e viene visualizzato un messaggio che informa che non è possibile trovare le informazioni di Assembly.
bin
per bin\Debug
e bin\Release
ma i vecchi file sono stati ancora nella mia bin
cartella in modo non avevo visto alcun problema. Naturalmente, se fai un checkout pulito e compili questi file non esistono per te, quindi esplode.
Ho avuto lo stesso problema e risolto con i passaggi seguenti
Ah, questo è stato fastidioso.
Ho ricevuto questo errore dopo un'interruzione di corrente e sono tornato al mio progetto.
Ho provato a riavviare VS. Ho provato a impostare il percorso di output su \ bin. Ho controllato i miei spazi dei nomi.
Ma ciò che ha funzionato per me è stata ricostruire la soluzione.
Ricostruisci la soluzione !!!
La mia soluzione: perché ho creato il problema! Avevo cambiato lo spazio dei nomi in Global.asax.cs
È inoltre necessario modificare il valore dell'attributo Inherits in Global.asax.
Controlla il codice dietro le informazioni, fornito in global.asax. Dovrebbero puntare correttamente alla classe nel suo codice dietro.
esempio global.asax:
<%@ Application Codebehind="Global.asax.cs" Inherits="MyApplicationNamespace.MyMvcApplication" Language="C#" %>
codice di esempio dietro:
namespace MyApplicationNamespace
{
public class MyMvcApplication : System.Web.HttpApplication
{
protected void Application_Start( )
{
AreaRegistration.RegisterAllAreas( );
FilterConfig.RegisterGlobalFilters( GlobalFilters.Filters );
RouteConfig.RegisterRoutes( RouteTable.Routes );
BundleConfig.RegisterBundles( BundleTable.Bundles );
}
}
}
Questo può accadere anche durante l'esecuzione del progetto in Visual Studio se IIS Express ha / ospita un vecchio / diverso progetto utilizzando la stessa assegnazione di porte.
Per risolvere questo problema, è possibile modificare l'assegnazione delle porte per questo progetto o chiudere IIS Express.
Se stai ospitando in IIS express e apri il tuo progetto in due posizioni diverse, potresti vedere questo errore.
La soluzione è andare Project/Properties/Web/Servers
e fare clic Create Virtual Directory
.
La soluzione per me era fare clic con il pulsante destro del mouse sul progetto Mvc, scegliere proprietà e fare clic su Crea directory virtuale.
Si aprì una finestra di messaggio che diceva che il progetto era stato mappato nella cartella sbagliata (mostrava la cartella per un diverso progetto TFS e dava la possibilità di mapparlo nuovamente nella cartella corretta.
Ho già avuto bin/
nella mia scheda di creazione. Ho ottenuto global.asax da un'altra copia del progetto, ma non ha funzionato.
La soluzione che alla fine ha funzionato per me è stata quella di rimuovere la bin/
cartella e creare una nuova cartella vuota con lo stesso nome.
So che ci sono già molte soluzioni a questo, ma ho pensato di menzionare ciò che mi ha risolto.
La mia configurazione era impostata su Debug. Cambiarlo in Release ha fatto il trucco per me.
Stavo ricevendo questo errore perché stavo eseguendo il progetto nonostante alcuni errori di compilazione. Questo non l'ho notato.
Eliminare il contenuto della cartella bin del sito (utilizzare Esplora file per questo). Ricostruire.
Sono caduto in questo. Ho letto e testato tutte le possibili soluzioni fornite in precedenza. Verifica del percorso di compilazione, compilazione, ricostruzione, pulizia, riavvio di IIS e VS2015, reinstallazione di tutti i pacchetti nuget, compilazione uno per uno, ecc., ...
All'improvviso mi sono ricordato che VS mantiene alcuni file temporanei ASP nelle cartelle di sistema ... Penso che dovrei provare, dopo tutto, che non potrebbe andare peggio. Quindi ho svuotato:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files
E tutto funziona di nuovo ... Strano che questo problema abbia soluzioni così diverse possibili ...
L'ho visto molte volte nell'ultimo decennio e l'ho appena ripreso. Ci sono molti problemi che causano lo stesso errore.
Una causa è una ridenominazione dei file. Se lavori con file .cshtml, controlla tutti gli spazi dei nomi all'interno di quei file e nel file Views \ web.config. Per i moduli Web, rinominare Default.aspx (i file .cs e designer correlati vengono automaticamente rinominati). Il codebehind cambia ma la riga Inherits nel markup no. Modificalo manualmente. Controlla la pagina del designer. A volte (VS2005-8?) La pagina di progettazione non riflette un cambiamento nello spazio dei nomi. Non l'ho visto nel 2010+.
Un altro problema è quando tutto funziona in VS o sul tuo PC locale ma non durante la distribuzione. Ciò potrebbe essere dovuto al fatto che l'ambiente di distribuzione non è strutturato allo stesso modo. Ad esempio, l'errore si verifica se si inserisce il codice in una directory virtuale in una cartella dell'applicazione, ma non si verifica se si crea una nuova cartella dell'applicazione e si inseriscono tutti i file al suo interno. Non capisco questo, poiché ho impostato la nuova cartella figlio / virtuale con le stesse autorizzazioni (o almeno così penso) e (credo) il pool di applicazioni dovrebbe funzionare allo stesso modo per tutto in una determinata cartella dell'applicazione.
Nel mio caso ho anche avuto una cartella bin con assembly che vengono aggiornati da altri assembly sul server IIS. Ancora una volta, assicurarsi che questi vengano eseguiti in una cartella dell'applicazione separata ha avuto esito positivo.
HTH
Ottengo questo problema ogni volta che salvo un file che viene compilato dinamicamente (ascx, aspx ecc.). Aspetto circa 8-10 secondi, poi scompare. È incredibilmente fastidioso.
Ho pensato che fosse forse un problema di IIS Express, quindi ho provato nel server di sviluppo integrato e lo sto ancora ricevendo dopo aver salvato un file. Sto eseguendo un'app MVC, sto usando anche T4MVC, forse questo è un fattore ...
Ho avuto questo errore frustrante nell'ambiente di sviluppo in Visual Studio e ho scoperto che il motivo era piuttosto stupido. In breve, se hai più di un progetto / sito Web in soluzione: assicurati che la porta a cui stai tentando di accedere al sito Web sia la stessa configurata in Proprietà progetto-> Web
Nel mio caso, l'errore è stato causato perché stavo usando una porta diversa per accedere al sito Web (nel browser) mentre al progetto in soluzione è stata assegnata un'altra porta. Per spiegare un po 'di più, avevo due progetti di siti Web nella mia soluzione Website1 (assegnata porta 8001 in ISS da Visual-Studio) e Website2 (assegnata porta 8101 in ISS da Visual-Studio). Quindi, anche se stavo costruendo Website1, stavo cercando di accedere al sito web usando locahost: 8101.
Ora che ho finalmente capito il problema, vedo che il commento di @ StingyJack affronta anche il problema simile.
Assicurati che lo spazio dei nomi in global.asax.cs corrisponda allo spazio dei nomi della tua webapp
Ho avuto di nuovo questo errore e nessuno dei precedenti ha funzionato per me. Ho dovuto rimuovere il seguente nodo in CSPROJ: <VisualStudio>....</VisualStudio>
. Reloaded VS e ha funzionato.
Cordiali saluti, VS è stato in grado di ricreare il nodo e quindi ho ricreato il sito Web in IIS (tramite VS) e ha funzionato perfettamente.
Spero che questo possa aiutare qualcuno.
Ciò che ha funzionato per me è stato il riavvio di Visual Studio.
Ho provato a ricostruire manualmente, eseguendo una pulizia e ricostruzione, ed eliminando la cartella bin che non ha funzionato. Il mio percorso di output era già impostato su bin \
Se hai cambiato uno spazio dei nomi, assicurati di fare clic con il tasto destro e refactoring.
Questo potrebbe accadere molto spesso se cambi il tuo spazio dei nomi. Restituisci il nome del tuo spazio dei nomi, proprio come una volta, e dovrebbe farlo funzionare!
In alcune circostanze, i nuovi progetti creati non sono impostati per impostazione predefinita su build. Se si fa clic con il pulsante destro del mouse sulla soluzione, scegliere Properties
, quindi scegliere Configuration Properties
| Configuration
nodo a sinistra e assicurati che il tuo progetto abbia un segno di spunta sotto la Build
colonna. In circostanze normali ho scoperto che ciò accade per impostazione predefinita. In altre circostanze (mi capita di avere una soluzione Web Api / Xamarin Android e iOS / Mvc 5 piuttosto complessa che presenti questo comportamento) il segno di spunta non è presente.
Ciò è correlato alle altre risposte: se l'assembly del tuo progetto web non è disponibile, viene visualizzato questo errore. Ma questo potrebbe essere uno scenario comune, soprattutto perché in realtà compili la tua soluzione: il progetto non viene creato.
Ho ricevuto questo errore perché il mio controllo versione era impostato per ignorare la mia cartella bin . Molto stupido, ma forse qualcun altro ne trarrà beneficio.
Mi sono imbattuto in questo problema e vedo lì ogni tipo di risposta, ma nulla è stato accettato. Dopo un po 'ho scoperto che la semplice creazione del sito Web prima di provare a funzionare risolveva il mio problema.