Я пытаюсь создать распространяемую сборку, содержащую несколько настраиваемых элементов управления (CommonControls). Моя среда: MSVC 2010, ASP.NET (WebForms) .NET 2.0 / 3.0 / 3.5
Проблема: скомпилировать все с помощью проекта веб-развертывания не получится, если я локализую CommonControls с помощью App_GlobalResources.
Вот как я создаю сборку CommonControls:
Я использую веб-сайт, содержащий файлы .ascx и .ascx.cs:
и проект веб-развертывания со следующими настройками:
Это создаст CommonControls.dll. Эта сборка должна использоваться в другом веб-приложении ASP.NET следующим образом:
web.config:
Первая (незначительная) проблема: добавление CommonControls в качестве зависимости не приведет к автоматическому копированию вспомогательных сборок для языков. Копирование их вручную на правильный путь вывода, похоже, работает (для ОТЛАДКИ).
Основная проблема: веб-приложение Main также локализовано с помощью App_GlobalResources и создано с помощью проекта веб-развертывания:
Этот процесс сборки завершится неудачно с
ASPNETCOMPILER: ошибка ASPRUNTIME: ссылка на объект не установлена на экземпляр объекта.
Оба проекта развертывания создают файл с именем «bin \ App_GlobalResources.compiled», и я предполагаю, что эти 2 файла не могут мирно сосуществовать в одном выходном проекте.
Есть ли какое-нибудь элегантное решение для локализации как CommonContols, так и Main с использованием встроенной локализации ASP.NET?
Примечание. Проект, над которым я работаю, должен быть совместим с Apache + Mono, поэтому для правильной работы мои настройки проекта (скриншоты выше) должны быть точно такими же (все другие варианты уже протестированы).