У меня возникла проблема, на решение которой мне уже пришлось потратить несколько вечеров. Я перенес веб-проект ASP.NET в веб-приложение.
Моя основная проблема - файлы .resx ниже App_GlobalResources. Скажем, у меня есть MyStrings.resx (= культура по умолчанию) и MyStrings.en.resx (да, английский не используется по умолчанию).
Если я создаю файлы в решении в обозревателе решений с помощью «Добавить ...», я получаю следующие настройки: * Действие при сборке: Содержимое * Пользовательский инструмент: GlobalResourceProxyGenerator
Я предполагаю, что настройка по умолчанию подходит для большинства случаев, но у меня уже есть две проблемы с этим: а) Если я оставлю действие сборки как «Содержимое», я получу исключение MissingManifestResourceException при использовании ResourceManager.GetString в коде. Решение: измените его на «EmbeddedResource». б) На моем компьютере отсутствует GlobalResourceProxyGenerator. Если я выберу «Запустить настраиваемый инструмент» в .resx, я получаю сообщение об ошибке «Не удается найти настраиваемый инструмент '...' в этой системе. Отлично. Решение: измените его на« PublicResXFileCodeGenerator ». Это работает.
Теперь, если я оставлю настройку PublicResXFileCodeGenerator, все будет компилироваться, но когда я запускаю решение (IIS и VS Express 2013 для Интернета), я получаю дружеское сообщение, что у меня есть «Resources.MyStrings» как в MyWebSite.dll, так и в App_GlobalResources.dll .
Хорошо, я меняю Custom Tool на ResXFileCodeGenerator. Теперь все работает нормально. Сейчас я развертываю решение на веб-сервере. Там я получаю CS0122: Resources.MyStrings недоступен из-за уровня защиты. Вероятно, это из-за его «внутреннего» объявления.
К настоящему времени я полностью потерялся. Любая помощь в наведении порядка?
Среда: IIS локально и онлайн VS Express 2013 для Интернета на двух языках. Для обоих параметров: Действие сборки: Копирование встроенного ресурса в выходной каталог: Не копировать Пользовательский инструмент: ResXfileCodeGenerator Пользовательское пространство имен инструмента: Ресурсы
Для сгенерированных файлов конструктора (только язык по умолчанию) настройки следующие: Действие при сборке: компилировать, копировать в выходной каталог: не копировать
Любая помощь приветствуется