после нескольких недель после этой проблемы я, наконец, решил обратиться за решением следующей проблемы:
На странице .aspx вы можете установить
<%@ MasterType VirtualPath="~/Mastername.master" %>
Это приводит к автогенерируемому свойству в .aspx.designer
public new Mastername Master {
get {
return ((Masternamee)(base.Master));
}
}
Работает отлично. Но если я вношу изменения в файл .aspx, свойство будет автоматически генерироваться автоматически и выглядит следующим образом:
public new NAMESPACE1.Mastername Master {
get {
return ((NAMESPACE1.Mastername)(base.Master));
}
}
Компиляция позже не будет возможной, поскольку класс для MasterPage не может быть разрешен в данном пространстве имен. На главной странице NAMESPACE1 есть пространство имен.
Каждая контентная страница имеет тот же NAMESPACE1. Автогенерированное свойство пытается найти класс masterpage в NAMESPACE1.NAMESPACE1, который не удастся, из-за этого его не существует. Конечно, я могу удалить первый NAMESPACE1. чтобы сделать приложение компилируемым снова, но это просто отстой, чтобы сделать это почти каждый раз, когда я вношу изменения в файл .aspx.
Есть ли способ избежать этой проблемы? Единственный способ, о котором я могу думать, - игнорировать автоматически сгенерированное свойство и делать явное приведение каждый раз, когда я хочу получить доступ к главной странице.
Изменить: я использую Visual Studio 2008 Professional SP1.