Редактирование файлов ресурсов без перекомпиляции приложения ASP.NET - PullRequest
26 голосов
/ 23 апреля 2009

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

Я добавил папку App_GlobalResources в свое ASP.NET 3.5 «Веб-приложение» и добавил файл ресурсов в эту папку. Я предполагаю, что действие по сборке для этого файла необходимо изменить, но независимо от того, на что я изменю действие по сборке, я не смогу достичь вышеуказанной функциональности.

Папка App_GlobalResources и файл ресурсов копируются в каталог bin. После развертывания любые изменения в файле .resx не отображаются.

Есть идеи?

Ответы [ 2 ]

26 голосов
/ 08 октября 2009

Вы можете достичь этого, и я только что сделал это.

Выберите файл ресурса в вашем проекте. Измените Build Action на содержимое. Убедитесь, что параметр «Копировать в выходной каталог» выключен. При развертывании проекта каталог App_GlobalResources и ваш файл .resx будут скопированы в корневой каталог вашего веб-сайта. Вы можете изменить файл .resx, и ваш сайт узнает об этих изменениях.

12 голосов
/ 23 апреля 2009

Проект веб-приложения отличается от проекта веб-сайта. Я сомневаюсь, что вы можете достичь того, чего хотите, с помощью проекта веб-приложения. Вы можете проверить это сообщение:

Веб-сайт ASP.NET или веб-приложение ASP.NET?

Ресурсы, как правило, должны быть статическими. Это такие элементы, как изображения, строки и файлы, которые использует ваша программа и на которые можно положиться (и, следовательно, могут быть строго типизированы в случае файлов строк или RESX). Причина использования ресурсов состоит в том, чтобы просто связать их с вашими DLL, чтобы распределение и ссылки на ресурсы стало намного проще.

Возможность редактирования во время выполнения предполагает, что вы, возможно, захотите использовать настройки проекта или пользователя или, возможно, базу данных? Если вам нужно использовать файлы RESX, вам может понадобиться написать код для чтения / записи.

...