2010-08-20 15 views
6

J'ai écrit une application MVC très simple qui affiche simplement une seule chaîne à partir d'un fichier de ressources. Cela fonctionne très bien sur ma machine locale mais quand je déploie le projet sur le serveur web, j'ai l'erreur.Comment publier/déployer un projet MVC avec ResX Resources?

CS0103: « Ressources » Le nom ne existe dans le contexte actuel

Vous pouvez répliquer très facilement exactement ce que je fais en 10 étapes!

  1. Créez une nouvelle application Web MVC 2.
    (File-> New-> Projet-> ASP.NET MVC 2 Application Web, disent non au projet de test unitaire)

  2. Ajouter le dossier "App_GlobalResources".
    (clic droit sur le projet et sélectionnez Ajouter-> Ajouter ASP.NET Folder-> App_GlobalResources)

  3. Ajouter un fichier de ressources dans ce dossier.
    (clic droit sur le dossier et sélectionnez Ajouter-> Nouvel élément ...-> Ressources fichier. Nommez Strings.resx)

  4. Ajouter une seule chaîne à la table des ressources.
    (Name = "HelloWorld", Value = "Je localisé Bonjour tout le monde!")

  5. Définissez les propriétés du fichier pour le fichier de ressources.
    (Cliquez sur le fichier Strings.resx et int la fenêtre Propriétés de l'ensemble Action = Construire « ressource incorporée » et CustomTool = « PublicResXFileCodeGenerator »)

  6. Ajouter un nouveau contrôleur
    (cliquez droit sur le dossier Contrôleurs et sélectionnez Ajouter-> contrôleur ... Nommez HelloWorldController.cs)

  7. Ajouter un la vue
    (Avec le curseur dans la méthode d'index de l'utilisation des valeurs par défaut, y compris le nom Afficher HelloWorldController.cs Appuyez sur CTRL-MV. = "Index")

  8. Modifiez la vue pour qu'elle affiche notre chaîne à partir du fichier de ressources.
    Remplacer le contenu de l'espace réservé Maincontent avec

    <h2><%: Resources.Strings.HelloWorld %></h2> 
    
  9. Exécuter localement pour tester que cela fonctionne. Lequel il devrait.

  10. le publier sur un serveur web et consultez l'URL « http://localhost/HelloWorld »

C'est là que je vois l'erreur décrite en haut.

J'imagine que les paramètres que j'ai mis sur le fichier ResX sont incorrects et la ressource n'est pas publiée sur le serveur.

L'aide est grandement appréciée.

Merci!

Répondre

14

Ah ah! Deviner. Dans la partie LARGE de cet article:
http://odetocode.com/Blogs/scott/archive/2009/07/16/resource-files-and-asp-net-mvc-projects.aspx

Ressemble au dossier App_GlobalResources n'est pas coopératif avec MVC. Donc, je me suis déplacé mon dossier ResX dans un nouveau dossier
~/Ressources/Cordes /Strings.resx

Ceci avec 1 changement mineur pour définir le fichier Propriété
outil personnalisé Espace de noms = Ressources

et problème résolu!

+0

Merci beaucoup! Cela m'embêtait et la réponse m'a été présentée lorsque j'essayais de poser une question ici. –

+0

Facile, concis et ça marche, merci beaucoup! :-) – eka808

Questions connexes