Activator.CreateInstance getta ArgumentNullException per il parametro 'Tipo'
-
06-09-2019 - |
Domanda
Di recente ho incontrato un problema con il mio fornitore di profilo: non sarebbe recuperare i profili in modo corretto (vedi errore qui sotto). Ha funzionato a livello locale, ma quando ho messo il codice compilato da un progetto di distribuzione Web sul server che potrebbe andare in crash.
Il valore non può essere null. Nome parametro: il tipo Descrizione: Eccezione non gestita durante l' esecuzione di la richiesta Web corrente. Si prega di rivedere l'analisi dello stack per ulteriori informazioni sull'errore e dove ha avuto origine nel codice.
Strack Trace:
[ArgumentNullException: Valore non può essere null. Nome parametro: tipo] System.Activator.CreateInstance (tipo Tipo, booleano non pubbliche) 2.796.915 System.Web.Profile.ProfileBase.CreateMyInstance (nome utente String, Boolean isAuthenticated) 76 System.Web.Profile.ProfileBase.Create (String username, booleano isAuthenticated) 312
ho trovato la soluzione, ma è ben lungi dall'essere evidente (vedi la mia risposta qui sotto).
Soluzione
La soluzione al mio errore è stato quello di deselezionare questa opzione dal progetto Web Deployment:
Trattare componente come libreria (rimuovere il file App_Code.Compiled)
Altri suggerimenti
È sufficiente la costruzione del progetto di distribuzione web ancora una volta dopo la modifica casella di controllo è a volte non è sufficiente.
Si dovrebbe ricostruire il sito web, o pulire la cartella di file ASP.NET ASP.NET temporanea, di solito si trova in "% windir% Microsoft.NET \ Framework \ v2.0.50727 \ Temporary ASP.NET Files".
Recentemente ho sperimentato questo problema e si è rivelato essere una dipendenza mancante. Utilizzando lo strumento Fuslogvw.exe fornito con Visual Studio finalmente identificato il problema.