Impossible de convertir l'objet de type 'X' de type 'X' - ASP.NET
Je suis actuellement en train de travailler avec un ASP.NET projet de site Web dans Visual Studio 2008 et à chaque fois que je fais un changement de code-behind de la page pour un contrôle utilisateur et accédez à la page qui est à l'aide de l'utilisateur contorl j'obtiens l'erreur suivante:
Impossible de convertir l'objet de type
'ASP.basepage_master' de type
'ASP.basepage_master'.
Je dois reconstruire ma toute solution afin de résoudre cette erreur. Quelqu'un d'autre a vécu cette erreur et sait comment le résoudre?
OriginalL'auteur Michael Kniskern | 2009-02-04
Vous devez vous connecter pour publier un commentaire.
Suppression temporaire ASP.NET les fichiers (tout en C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET les Fichiers) permet à chacun de s'en aller... pour un temps.
Génial. Heureux, il a travaillé. (toux puis-je obtenir un vote? la toux)
OriginalL'auteur teedyay
Qui fait sens, ce que je comprends.
Vous faites une modification dans le code-behind. Pour que ces modifications prennent effet, vous devez construire ce projet afin que le code-behind peut être compilé dans le fichier DLL pour ce projet. Lorsque vous modifiez le code-behind, et de ne pas construire le projet, vous avez essentiellement deux versions de la page, et ASP.Net ne peut pas résoudre les deux versions. Ainsi, lors de la compilation de la classe, les changements sont réconciliés dans la DLL.
Je crois encore que le concept est le même, en dehors de la construction d'un fichier dll. ASP.NET reste à compiler vos fichiers source, et c'est à l'aide de sa version mise en cache pour exécuter votre site, pas de votre "travail" version non compilée. odetocode.com/Articles/417.aspx
OriginalL'auteur Carl
Si j'ai arrêter et de redémarrer IIS sur mon poste de travail local, je suis en mesure de résoudre ce problème.
OriginalL'auteur Michael Kniskern
Ce blog décrit le problème:
http://professionalaspnet.com/archive/2007/04/09/Unable-to-cast-object-of-type-_2700_ASP.masterpage_5F00_master_2700_-to-type-_2700_ASP.masterpage_5F00_master_27002E00_.aspx
OriginalL'auteur ScottE
Eurekaaa!! Eu... celui-ci fonctionne...
Lorsque vous grag chute de l'objet usercontrol ou de le charger via le
LoadControl
l'utilisation d'une méthode d'un "tilde" dans son chemin. E. g.this.LoadControl("~/MyUserControl.ascx");
La même chose s'applique pour un contrôle tombé sur une page. Ajouter le tilde pour le déclaratif chemin d'accès de l'utilisateur contrôle dans la page aspx.
On peut appeler cela comme un bug dans VS2005 et se fixe par rapport à 2008.
Me répondre si cela ne marche pas de travail ou besoin de plus d'explication. Sinon, n'oubliez pas de marquer cette réponse.
OriginalL'auteur Balaji Birajdar