nach Wochen der dieses Problem hat schließlich entschied ich mich für eine Lösung für das folgende Problem zu fragen:Wie Namespace Problem mit automatisch generierten Master-Eigenschaft beheben, wenn Mastertype gesetzt
In der ASPX-Seite können Sie einstellen,
<%@ MasterType VirtualPath="~/Mastername.master" %>
Dies führt zu einer automatisch generierten Eigenschaft in der .aspx.designer
public new Mastername Master {
get {
return ((Masternamee)(base.Master));
}
}
Arbeiten völlig in Ordnung. Aber wenn ich Änderungen in der ASPX-Datei, wird die Eigenschaft sein neues Auto erzeugt, und es sieht wie folgt aus:
public new NAMESPACE1.Mastername Master {
get {
return ((NAMESPACE1.Mastername)(base.Master));
}
}
Compilieren wird danach nicht möglich sein, weil die Klasse für die Masterpage kann nicht auf der gelöst werden gegebener Namespace. Die Masterpage hat NAMESPACE1 als Namespace.
Jede Inhaltsseite hat denselben NAMESPACE1. Die automatisch generierte Eigenschaft versucht in NAMESPACE1.NAMESPACE1 nach der Masterpage-Klasse zu suchen, die fehlschlägt, da sie nicht existiert. Natürlich kann ich den ersten NAMESPACE1 entfernen. um die App wieder kompilierbar zu machen, aber es ist einfach fast jedes Mal, wenn ich Änderungen an der .aspx-Datei mache.
Gibt es eine Möglichkeit, dieses Problem zu vermeiden? Der einzige Weg, an den ich denken kann, ist, die automatisch generierte Eigenschaft zu ignorieren und eine explizite Umwandlung jedes Mal vorzunehmen, wenn ich Zugriff auf die Masterseite haben möchte.
Bearbeiten: Ich verwende Visual Studio 2008 Professional SP1.
BTW, habe ich hatte nie das Problem nach – citronas