Как опубликовать / развернуть проект MVC с ресурсами ResX?

Я написал очень простое приложение MVC, которое просто отображает одну строку из файла ресурсов. Он отлично работает на моей локальной машине, но когда я развертываю проект на веб-сервере, я получаю ошибку.

CS0103: имя 'ресурсы' не существует в текущем контексте

вы можете очень легко воспроизвести именно то, что я делаю всего за 10 шагов!

  1. создать новый MVC 2 Web Приложение.
    (Файл - >Создать - >проект - >ASP.NET веб-приложение MVC 2, Скажите " нет " проекту модульного тестирования)

  2. Добавить "папку App_GlobalResources".
    (щелкните правой кнопкой мыши проект и выберите Добавить- > добавить ASP.NET папка - >App_GlobalResources)

  3. Добавить файл ресурсов в эту папку.
    (щелкните правой кнопкой мыши папку и выберите Add - >New Item...->файл ресурсов. Назвать его Веревка.resx файл)

  4. добавить одну строку в таблицу ресурсов.
    (Name = "HelloWorld", Value = " я локализовал Hello World!")

  5. задайте свойства файла для файла ресурсов.
    (щелкните файл Strings.resx и int в окне свойств установите действие сборки = " встроенный ресурс "и CustomTool = "PublicResXFileCodeGenerator")

  6. Добавить новый Контроллер
    (щелкните правой кнопкой мыши папку контроллеры и выберите Добавить - > контроллер... Назовите его HelloWorldController.cs)

  7. добавить вид
    (с курсором в индексном методе HelloWorldController.cs нажмите CTRL-M-V. используйте значения по умолчанию, включая View name = "Index")

  8. измените представление так, чтобы оно отображало нашу строку из файла ресурсов.
    заменить содержимое заполнитель MainContent с

    <h2><%: Resources.Strings.HelloWorld %></h2>
    
  9. запустить его локально, чтобы проверить, что он работает. что надо.

  10. опубликуйте его на веб-сервере и посетите url"http://localhost/HelloWorld"

здесь я вижу ошибку, описанную в верхней части.

Я бы предположил, что настройки, которые я поставил в файле ResX, неверны, а ресурс-нет опубликовано на сервере.

помощь очень ценится.

спасибо!

1 ответов


Ах-ха! Понять это. В значительной степени к этому article:
http://odetocode.com/Blogs/scott/archive/2009/07/16/resource-files-and-asp-net-mvc-projects.aspx

похоже, что папка App_GlobalResources не сотрудничает с MVC. Поэтому я переместил файл ResX в новую папку
~/Ресурсов/Строки/Strings.resx файл

это вместе с 1 незначительным изменением для установки свойства файла
Пространство Имен Специального Инструмента = Ресурсы

и проблема решена!