2010-08-20 8 views
6

Sadece Kaynak dosyasından tek bir dize görüntüleyen ÇOK basit bir MVC uygulaması yazdım. Yerel makinemde gayet iyi çalışıyor, ancak projeyi web sunucusuna dağıtırken hatayı alıyorum.Bir MVC Projesi'ni ResX Kaynaklarıyla nasıl yayımlarım/dağıtacağım?

CS0103: adı 'Kaynaklar' geçerli bağlamda

Çok kolay Sadece 10 adımda ne yapıyorum tam olarak çoğaltabilirsiniz bulunmayan yok!

  1. Yeni bir MVC 2 Web Uygulaması oluşturun.

  2. "App_GlobalResources" Klasör ekle (File-> New-> Proje-> ASP.NET MVC 2 Web Uygulaması, Birim Test Projesi hayır demek).
    (sağ projeyi tıklayın ve Add- seçin> Add ASP.NET FOLDER-> App_GlobalResources)

  3. bu klasöre bir kaynak dosyası ekleyin.

  4. Kaynak tabloya tek bir sicim ekleyin (klasörü sağ tıklayın ve Add-> Yeni Öğe ...-> Kaynaklar Dosya seçin. O Strings.resx Ad).
    (Ad = "MerhabaDünya" Değer = "Ben Merhaba Dünya lokalize!")

  5. Kaynak Dosya için dosya özelliklerini küme.

  6. (yeni Kontrolörü
    ekle Sağ Kontrolörler klasörünü tıklayın ve (dosyayı Strings.resx tıklayın ve Eylem = "Gömülü Kaynak" ve CustomTool = "PublicResXFileCodeGenerator" İnşa set Özellikler penceresini int) Add-> Denetleyici ...

  7. ekle) burayı HelloWorldController.cs Ad bir Görünüm
    (. HelloWorldController.cs CTRL-MV Endeksi yönteminde imleç Görünüm adı dahil varsayılan değerleri kullanın = "Dizin")

  8. Görünümü, dizgimizi kaynak dosyadan gösterecek şekilde değiştirin.
    yerel olarak çalıştığını sınamak için

    <h2><%: Resources.Strings.HelloWorld %></h2> 
    
  9. Run ile mainContent yer tutucu içeriğini değiştirin. Hangi gerekir.

  10. bir web sunucusuna Yayınlayın ve url ziyaret "http://localhost/HelloWorld"

ben üstünde açıklanan hata görebilirsiniz yerdir.

ResX dosyasına koyduğum ayarların yanlış olduğunu ve kaynağın sunucuda yayınlanmadığını hayal ediyorum.

Yardım büyük beğeni topluyor.

Teşekkürler!

cevap

14

Ah ha! Anladım. Bu maddeye BÜYÜK bölümde: App_GlobalResources klasör MVC ile kooperatif DEĞİLDİR gibi http://odetocode.com/Blogs/scott/archive/2009/07/16/resource-files-and-asp-net-mvc-projects.aspx


geliyor. Bu yüzden File Property
Özel Aracı Ad alanı ayarlamak için 1 minör değişmesi ile birlikte
~/Kaynaklar/Strings /Strings.resx

yeni bir klasöre

Bu benim ResX dosyasını taşındı = Kaynaklar

ve Sorun Çözüldü!

+0

Çok teşekkürler! Bu beni rahatsız ediyordu ve burada bir soru sormaya çalışırken cevap bana sunuldu. –

+0

Kolay, Muhtasar ve işe yarıyor, çok teşekkürler! :-) – eka808