Activator.CreateInstance lance ArgumentNullException pour le paramètre « Type »
-
06-09-2019 - |
Question
J'ai récemment rencontré un problème avec mon fournisseur de profil: il ne récupérera pas les profils correctement (voir erreur ci-dessous). Il a travaillé sur place, mais quand je mets le code compilé par un projet de déploiement Web sur un serveur, il se briserait.
La valeur ne peut être nulle. Nom du paramètre: Type Description: Une exception non gérée est survenue au cours de la exécution de la demande Web en cours. S'il vous plaît examiner la trace de la pile pour plus informations sur l'erreur et son origine dans le code.
Strack Trace: [ArgumentNullException: La valeur ne peut être nulle. Nom du paramètre: type] System.Activator.CreateInstance (type Type, Boolean non publiques) 2796915 System.Web.Profile.ProfileBase.CreateMyInstance (de nom d'utilisateur String, Boolean isAuthenticated) 76 System.Web.Profile.ProfileBase.Create (nom d'utilisateur String, Boolean isAuthenticated) 312
J'ai trouvé la solution, mais il est loin d'être évident (voir ma réponse ci-dessous).
La solution
La solution à mon erreur était de décocher cette option du projet de déploiement Web:
Traiter comme composant bibliothèque (supprimer fichier App_Code.Compiled)
Autres conseils
Construire simplement le projet de déploiement Web à nouveau après le changement de case à cocher est parfois ne suffit pas.
Vous devez reconstruire le site Web, ou nettoyer le dossier Temporary ASP.NET Files ASP.NET, généralement situé dans "% windir% Microsoft.NET \ Framework \ v2.0.50727 \ Temporary ASP.NET Files".
J'ai récemment rencontré ce problème et il est avéré être une dépendance manquante. En utilisant l'outil fuslogvw.exe fourni avec le studio visuel a finalement identifié le problème.