Unable to cast object of type 'X' type 'X' - ASP.NET
Zurzeit arbeite ich mit ein ASP.NET Web-site-Projekt in Visual Studio 2008 und jedesmal, wenn ich eine änderung vornehmen, um code-behind-Seite für eine Benutzer-Steuerung und navigieren Sie zu der Seite, die der Benutzer contorl bekomme ich die folgende Fehlermeldung:
Unable to cast object of type
'ASP.basepage_master' zu geben
'ASP.basepage_master'.
Habe ich zum Wiederaufbau meines gesamten Lösung, um diesen Fehler zu beheben. Hat sonst noch jemand erlebt diesen Fehler und wissen Sie, wie Sie es beheben?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Durch löschen der temporären ASP.NET Dateien (alles in C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Dateien) macht das Weg... für eine Weile.
Sinn macht, von dem was ich verstehe.
Bist du eine änderung an der code-behind. In Reihenfolge für diese änderungen wirksam werden, würden Sie brauchen, um zu bauen, das Projekt, so dass die code-behind-kompiliert werden kann, in die DLL Datei für das Projekt. Wenn Sie ändern Sie den code-behind, und nicht, erstellen Sie das Projekt, Sie haben im wesentlichen zwei Versionen der Seite, und ASP.Net nicht auflösen kann, die zwei Versionen. Also, wenn Sie kompilieren Sie die Klasse, die änderungen sind versöhnt in der DLL.
Wenn ich stoppe und neu gestartet IIS auf meinem lokalen Arbeitsstation, ich bin in der Lage dieses Problem zu beheben.
Dieser blog-Eintrag beschreibt das Problem gut:
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
Eurekaaa!! Habe es... funktioniert...
Wenn Sie grag drop das Benutzersteuerelement, oder laden Sie es über die
LoadControl
- Methode verwenden Sie eine 'tilde' in seinem Weg. E. g.this.LoadControl("~/MyUserControl.ascx");
Gleiches gilt für eine Kontrolle fiel auf eine Seite. Fügen Sie die tilde auf das deklarative Pfad der Benutzer-Steuerung, die in der aspx-Seite.
Können wir nennen dies als einen Fehler in VS2005 und ist fest in VS 2008.
Antworten Sie mir, wenn dies nicht ganz funktionieren oder braucht mehr Erklärung. Alternativ, vergessen Sie nicht, markieren Sie diese als Antwort.