2008-09-18 15 views
28

Bu yüzden, tasarladığım yeni bir web sitesinde App_Code klasörüyle gerçekten çok tuhaf bir sorun yaşıyorum.App_Code klasör sorunları

App_Code klasöründe bir ad alanının içinde temel bir sınıf var. Ad alanını kurduğumda ve sınıftan bir nesne oluşturduğumda her şey IDE'de iyi çalışır. Vurguluyla ilgili sınıf özetini getirir ve "işaretlemeye git" i tıkladığınızda sınıf dosyasına gider. Ve aynı zamanda güzel yerel çalışıyor. Benim sunucu üzerine siteyi yüklemeye zaman o sayfayı eriştiklerinde

Ancak, bu hata mesajını alıyorum:

Satır 10: System.Web.UI.WebControls kullanarak;
Satır 11: System.Web.UI.WebControls.WebParts kullanarak;
Hat 12: kullanarak xxxx.xxxx

Derleyici hata iletisi: CS0246: bulunamadı 'xxxxxx' tür veya ad alanı adı (bir kullanarak yönergesi veya bir derleme başvurusu eksik?)

Sınıf dosyasının orada olduğu gerçeğini biliyorum. Neyin olup bittiğine dair bir fikri olan var mı?

Düzenlemeler:

John evet bu bir 2.0 sitesidir. Uygulamanız bir Web sitesi projesi yerine bir Web uygulaması projesiyse, kod dosyaları App_Code klasöründe olmamalıdır (aptal tasarım, biliyorum).

+0

Siteyi sunucuya nasıl yayımladınız? – Kev

cevap

18

Kod veya bir şey denen yeni bir klasör oluşturun ve bunları buraya yerleştirin.

Bir sürü eski .Net web sitesini uygulama projelerine yükselttiğimde her türlü soruna neden oldu.

+0

Kod dosyalarını sadece App_Code klasörünün dışına ve yeni klasörünüze sürüklerseniz, yapı eylemi özelliği yine de içeriğe ayarlanabileceğini ve uygulamanın geri kalanının ad alanlarını göremeyeceğini unutmayın. Bunu yanıtlamak için bunu belirleyen aşağıdakilerden biri, bunu sıralayacaktır, varsayılan olarak App_Code klasöründe oluşturulan herhangi bir sınıf dosyasının WAP projesinde bile action = content oluşturmak için ayarlanacağını düşünüyorum. – JsonStatham

+0

Ne zaman kaybı! 6 ay boyunca baş ağrısı yok ama! Gönderdiğiniz için teşekkürler! +1 http://stackoverflow.com/questions/26135251/catch-exceptions-in-asp-net-resulting-from-generic-handler-ashx-file/26136417#26136417 – MacGyver

+0

Evet, bir web uygulaması ve C# projesi vardı türleri. http://www.mztools.com/Articles/2008/MZ2008017.aspx – MacGyver

1

Başvurulan derleme veya kod dosyasında derleme zamanı hatası olduğunda, bazen IDE ayrıştırıcısı ile derleyici arasında bir uyumsuzluk fark ettim. Bu durumda IDE, türleri doğru bir şekilde tanımlayacak ve onlara tam destek sağlayacaktır, ancak derleyici başvurulan nesneleri oluşturamadığından, başvurulan nesnelerin bulunmadığından şikayet edecektir.

Artık kimseyi bir şeyden suçlamak istemiyorum - bu sadece bir tahmindir - ancak muhtemelen başvurulan kod dosyasında herhangi bir hata olmadığından emin olmalısınız.

1

Siteyi nasıl yayınladığınıza bağlı olarak, App_Code'a bakmaz; bunun yerine, sınıfını içeren Bin klasöründe bir DLL dosyası arar. Web sitenizi sunucuya nasıl aktardınız?

2

Bu sadece benim başıma geldi ve çözüm, App_Code (ve App_Data) sunucusunun köküne değil, diğer her şeyi tutan bir alt klasöre konulmuştu. Kök olmalı!

63

dersleriniz derlenen değil sorun, Sadece App_Code klasöründe herhangi sınıfın özelliklerine giderek bu sorunu çözmek olacak ve "İçerik" malını 'İşlem kurmak'

"Derleme" içelim değiştirmek
+0

Her sınıfın derleme eylemini bir defada değiştirmenin bir yolu var mı? – binard

+2

Bunu yapmanın sonuçları nedir, bu varsayılan ayarın bir nedeni var mı? – Coops

+1

Mülkünü devre dışı bırakamıyorum – Lijo

0

İzleyenler için ... Aynı sorunları yaşadım ancak buna App_Code, 'HTML' adlı bir sınıf ekledim. Derleyicinin sorunun ne olduğunu anlatma konusunda çok yardımcı olmadığından sadece bir isim çatışması olduğunu anlamak için uzun sürdü.