2010-03-29 8 views
2

J'écris une application de ligne de commande .NET qui migrera les utilisateurs d'une base de données existante vers aspnetdb. Pour simplifier les paramètres spécifiques à l'utilisateur, j'utilise la classe de profil que Joel Spolsky a écrit à propos de here.Pourquoi ai-je une exception TypeLoadException lors de la définition d'un profil personnalisé?

Cela fonctionne très bien dans le site Web ASP.NET MVC, mais pour une raison quelconque, il lance un TypeLoadException lorsqu'il est utilisé à partir de cette nouvelle application. Je ne suis pas sûr pourquoi le cadre tente de charger la nouvelle classe de System.Web.

Répondre

3

Il s'avère que vous devez être plus précis dans le fichier app.config. Au lieu d'écrire ce

<profile defaultProvider="SqlProvider" inherits="MigrationFromUDF.AccountProfile"> 

vous devez indiquer le nom de votre application (ou assemblage)

<profile defaultProvider="SqlProvider" inherits="MigrationFromUDF.AccountProfile, MigrationFromUDF"> 
+0

Je partageais un fournisseur de profil personnalisé entre un projet Web MVC et un rôle Azure travailleurs et les âges passés essayer de trouver ce qui n'allait pas. Cette réponse faisait partie de la solution. – NER1808

+0

Merci pour cela, mais j'ai trouvé que cela faisait partie de la solution. J'ai trouvé que je devais aussi déclarer explicitement l'assemblée pour la valeur de la section dans le fichier app.config du rôle de travail. Alors que la clé de type lit 'type = "my.custom.ProfileProvider, My.WorkRoleProject"' – NER1808