从ASP.Net WebSite转换为Web应用程序项目后的MasterType问题

Geo*_*ord 5 vb.net asp.net master-pages web-applications web

在将Asp.net网站转换为Web应用程序后,我在使用MasterType指令的页面上收到"Type MyNameSpace.MyMaster is not defined"错误.

例如,在aspx文件中

<%@ MasterType VirtualPath="~/MyMaster.master" %>
Run Code Online (Sandbox Code Playgroud)

在designer.vb文件中生成以下代码并具有上述错误:

Public Shadows ReadOnly Property Master() As MyNameSpace.MyMaster
    Get
        Return CType(MyBase.Master, MyNameSpace.MyMaster)
    End Get
End Property
Run Code Online (Sandbox Code Playgroud)

如果我删除命名空间,则错误消失但每次我对aspx页面进行更改时都会重新生成此代码.

如果我在指令中使用没有命名空间的TypeName(例如Typename ="MyMaster")而不是VirtualPath,则生成的代码没有命名空间引用,因此没有错误.但是,这在运行时失败了.包含命名空间的行为与使用VirtualPath的方式相同.

我很确定这与转换过程有关,因为新的Web应用程序项目没有这个问题.

有什么想法在这里发生了什么?

更新:

问题解决了!

在转换过程中,我在类中添加了一个与我的根命名空间同名的命名空间.只需删除它即可解决问题.

Geo*_*ord 1

问题解决了!

在转换过程中,我向类中添加了一个与根命名空间同名的命名空间。只需删除它即可解决问题。