Yanıtlar:
CodeBehind : Derlenmesi gerekiyor (ASP.NET 1.1 modeli). Derlenen ikili dosya web sitesinin depo gözü klasörüne yerleştirilir. Dağıtmadan önce Visual Studio'da bir derleme yapmanız gerekir. Kaynak kodun düz metin olarak görüntülenmesini istemediğinizde iyi bir modeldir. Örneğin, kod sağlama yükümlülüğünüz olmayan bir müşteriye teslimat yaparken.
CodeFile : Kaynak dosyaya dağıtım çözümü sağlarsınız . ASP.NET 2.0 çalışma zamanı gerektiğinde kodu derler. Derlenen dosyalar Microsoft.NET [.NET sürümü] \ Temporary ASP.NET Files dizinindedir.
Codebehind dosya çalıştırmadan önce derlemek gerekir ama src biz derlemek ve sonra çalıştırmak gerekmez .. sadece dosyayı kaydedin.
but in src- yani but in the CodeFile?
Web için Visual Studio Express 2012'de bir Uygulama Projesi ile çalışıyorum ve .NET 4.0 kullanıyorum. Benim oturum açma ve parola değiştirme sayfaları için dosyaların arkasındaki kodda bildirimde hem CodeBehind hem de CodeFile gerekli bir durum buldum.
Aşağıdaki gibi bir kod dosyası başvurusu eklemezsem
CodeFile=login.aspx.cs
Web sayfası ayrıştırılmaz ve tarayıcı bir ayrıştırıcı hatası görüntüler. Projeyi derleyip derlemem önemli değil.
Referansın arkasına bir kod eklemezsem
CodeBehind=login.aspx.cs
MembershipUser gibi Security sınıflarına yapılan başvurular hem derleme zamanında hem de intellisense'i "MembershipUser türü veya ad alanı bulunamadı" gibi bir hatayla kullanmaya çalışırken başarısız olur. .Net 4.0 çerçevesinin gerektirdiği şekilde System.Web.ApplicationServices için bir başvuru ekledim.
Bu zahmetli dosyaların IIS Uygulama aracı kullanılarak oluşturulan web sitesi içindeki bir uygulamada çalıştığını eklemeliyim. Web sitesini Visual Studio'dan açtığımda ayrıştırıcı hataları veya referans hatalarıyla ilgili hiçbir sorunum yok. Bu karışıklık yalnızca uygulamayı Visual Studio'da bir proje olarak açtığımda oluşur.