after weeks of having this issue I finally decided to ask for a solution to the following problem:
In the .aspx page you can set
<%@ MasterType
I found a solution that works. I won't use the autogenerated property in the designerfile. I'll write my own wrapper property that I do implement in every contentpage.
For some reason the designer believes that the master page is defined in namespace NAMESPACE1
, so look at the master page definition (and code behind) to check its namespace has not been modified (possibly accidentally).
If there is nothing obvious, a search in all files (*.cs, *.aspx, *.master, ...) for NAMESPACE1
may be needed.
(This is where using a VCS would help --- you could check the history of changes.)
Actually it's more a designer "feature". ;-)
The Master name used in your designer file will be pulled from your .Master file's Inherits property. So change how you qualify the Inherits attribute, and that will change the class name used when the designer file is created.
Change
<%@ MasterType VirtualPath="~/Mastername.master" %>
to
<%@ MasterType TypeName="Mastername" %>
this will work perfectly
I had this same problem when I added <%@ MasterType VirtualPath="~/TestMaster.Master" %>
to my aspx page in SOURCE view. For some reason, the page never created correctly and kept giving me invalid namespace errors until I actually changed to DESIGN view and resized a control and finally the error went away. Somewhere it was using some cached data (even a Build/Clean Solution didn't clear it out) and until the designer recreates the page, it generates that error.