Dopo aver convertito un sito Web Asp.net nell'applicazione Web, viene visualizzato l'errore "Tipo MyNameSpace.MyMaster non è definito" nelle pagine che utilizzano la direttiva MasterType.Problema MasterType dopo la conversione da ASP.Net WebSite al progetto Web Application
esempio Nel file aspx
<%@ MasterType VirtualPath="~/MyMaster.master" %>
Nel designer.vb File il seguente codice viene generato e ha l'errore descritto in precedenza:
Public Shadows ReadOnly Property Master() As MyNameSpace.MyMaster
Get
Return CType(MyBase.Master, MyNameSpace.MyMaster)
End Get
End Property
Se rimuovo il namespace l'errore va via ma questo codice viene rigenerato ogni volta che apporto una modifica alla pagina di aspx.
Se utilizzo TypeName senza lo spazio dei nomi (ad es. Typename = "MyMaster") anziché VirtualPath nella direttiva, il codice viene generato senza il riferimento allo spazio dei nomi e quindi nessun errore. Tuttavia questo non funziona in fase di runtime. Includere lo spazio dei nomi si comporta allo stesso modo dell'utilizzo di VirtualPath.
Sono abbastanza sicuro che questo ha qualcosa a che fare con il processo di conversione come i nuovi progetti di applicazioni web non hanno questo problema.
Qualche idea cosa sta succedendo qui?
UPDATE:
Problema risolto!
Nel processo di conversione avevo aggiunto un Namespace con lo stesso nome del mio Namespace radice a una classe. Semplicemente rimosso per risolvere il problema.
si potrebbe desiderare di ricreare la pagina master/code-behind da zero. Quindi copiare i markup e i codici. Questo non risponde alla tua domanda, ma dovrebbe risolvere il tuo problema. –
Ho trovato il mio problema dello spazio dei nomi effettuando una ricerca per: namespace Namespace –