Po konwersji strony internetowej Asp.net na aplikację internetową, otrzymuję komunikat "Typ MyNameSpace.MyMaster nie jest zdefiniowany" na stronach korzystających z dyrektywy MasterType.Problem z MasterType po konwersji z ASP.Net WebSite na projekt aplikacji WWW
np W pliku aspx
<%@ MasterType VirtualPath="~/MyMaster.master" %>
W designer.vb Plik Poniższy kod jest generowany i ma błąd opisany powyżej:
Public Shadows ReadOnly Property Master() As MyNameSpace.MyMaster
Get
Return CType(MyBase.Master, MyNameSpace.MyMaster)
End Get
End Property
Jeśli usunąć nazw błąd idzie ale ten kod jest odnawiany za każdym razem, gdy dokonuję zmiany na stronie aspx.
Jeśli użyję TypeName bez przestrzeni nazw (np. Typename = "MyMaster") zamiast VirtualPath w dyrektywie, kod zostanie wygenerowany bez odniesienia do przestrzeni nazw, a zatem bez błędu. Jednak w tym przypadku kończy się to niepowodzeniem. Włączenie przestrzeni nazw zachowuje się w taki sam sposób jak przy użyciu VirtualPath.
Jestem pewien, że ma to coś wspólnego z procesem konwersji, ponieważ nowe projekty aplikacji internetowych nie mają tego problemu.
Jakieś pomysły, co się tutaj dzieje?
UPDATE:
Problem rozwiązany!
W procesie konwersji dodałem do klasy Przestrzeń nazw o tej samej nazwie, co moja przestrzeń nazw użytkownika root. Po prostu usunięto to, aby rozwiązać problem.
Może chcesz odtworzyć stronę wzorcową/code-tył od zera. Następnie skopiuj znaczniki i kody. To nie odpowiada na twoje pytanie, ale powinno rozwiązać twój problem. –
Znalazłem problem z przestrzenią nazw, wykonując wyszukiwanie: namespace Namespace –