2009-08-18 17 views
5

Asp.net web sitesini web uygulamasına dönüştürdükten sonra, MasterType yönergesini kullanan sayfalarda 'Type MyNameSpace.MyMaster tanımlı değil' hatası alıyorum. designer.vb olarak aspx dosyasıMasterType sorunu ASP.Net WebSite'dan Web Application projesine dönüştürüldükten sonra

<%@ MasterType VirtualPath="~/MyMaster.master" %> 

yılında

örn Aşağıdaki kod oluşturulur ve hata var yukarıda açıklanan dosyası: Ben ad kaldırırsanız

Public Shadows ReadOnly Property Master() As MyNameSpace.MyMaster 
    Get 
     Return CType(MyBase.Master, MyNameSpace.MyMaster) 
    End Get 
End Property 

hata gider uzakta ama bu kod her sayfada aspx sayfasında bir değişiklik yaptığımda yenilenir.

Yönergede VirtualPath yerine ad alanı (örneğin Typename = "MyMaster") olmadan TypeName kullanırsam, kod ad alanı başvurusu olmadan oluşturulur ve bu nedenle hata olmaz. Ancak bunun yerine çalışma zamanında başarısız olur. Ad alanı dahil, VirtualPath kullanarak aynı şekilde davranır.

Yeni web uygulaması projeleri bu sorunla karşılaşmadığından, dönüşüm süreciyle ilgili bir şey olduğundan eminim.

Burada neler olup bittiğine dair bir fikrin var mı?

GÜNCELLEME:

Sorun çözüldü!

Dönüştürme işleminde, bir adla kök Ad alanı ile aynı ada sahip bir Ad Alanı ekledim. Sorunu gidermek için bunu kaldırmanız yeterli.

+1

sıfırdan kod arkasında Ana Sayfayı/yeniden isteyebilirsiniz çalışacaktır. Ardından işaretlemeleri ve kodları kopyalayın. Bu sorunuzu cevaplamıyor ama sorununuzu çözmeli. –

+0

Benim ad alanı sorunu için bir arama yaparak bulundu: namespace Ad Alanı –

cevap

0

Sorun çözüldü!

Dönüştürme işleminde, bir adla kök Ad alanı ile aynı ada sahip bir Ad Alanı ekledim. Sorunu gidermek için bunu kaldırmanız yeterli.

1

Ana sayfa sınıfınızı adlandırabilirsiniz. Ad alanları, web uygulama projelerinde varsayılan olarak oluşturulur.

namespace TestNS 
{ 
    public partial class TestMP : System.Web.UI.MasterPage 
    { 
     protected void Page_Load(object sender, EventArgs e) 
     { 

     } 
    } 
} 

başka Sorunlar hakkında bilgi edinmek için bu Oku:

http://msdn.microsoft.com/en-us/library/aa730880(VS.80).aspx

+0

Bu bir şey değiştirmez - aynı sorun, yalnızca ekstra ad alanı ile şimdi. –

0

Değişim

<%@ MasterType VirtualPath="~/Mastername.master" %> 

<%@ MasterType TypeName="Mastername" %> 

için bu mükemmel