Запись в логах "No suitable loader found for extension" преследует наверное любого разработчика на Orchard CMS.
Сообщение это свидетельствует о том, что модуль не может быть загружен из за ошибок компиляции, ошибок в названии файлов, несоответствия данных в базе, прочих проблем.
И во многих случаях, решительно ни где не пишется, что же это за проблема.
Далее идут мои слабо аргументированные инсинуации:
Происходит это дело, проблема с загрузкой, по многим причинам. Очевидную роль тут играет и MVC со своими требованиями к точному наименованию структуры файлов и папок и Nhibernate со своими требованиями к именованию таблиц и классов и сам Orchard, который не только добавляет к упомянутым требованиям свои, но и динамически подгружает добавленные модули, без включения в свой солюшен т.е.
На какие грабли я уже наступал:
- Именование таблиц в БД. В миграции я создал таблицу "TradeItemRecord" для части TradeItem, а надо было назвать "TradeItemPartRecord" т.к. именно так называется модель через которую контентная часть TradeItemPart цепляется к базе.
- От непонимания принципа работы MVC я пропустил важный момент - упомянутый ранее класс модели TradeItemPart, должен свои свойства тащить из TradeItemPartRecord, на пример
public string Code { get { return Record.Code; } set { Record.Code = value; } }
- С именами представлений не сразу разобрался
- Пытался создать в своём модуле контроллер с именем аналогичным контроллеру из модуля Users, пока файл не переименовал, система вообще не запускалась. Т.е. имя класса и пространство имен вообще никого не интересовало, не работало пока сам файл совпадал по названию.
- Ну и свеженькое - система перестала запускаться после изменениях в коде, пока не проведёшь пересборку солюшена. Хохма заключалась в dll от модуля Users, как только подключил ссылкой на проект, всё заработало нормально.
Такие вот нюансы встречаются. Описал я конечно же не все, а только запомнившиеся.
Ну и не смотря на эти проблемы, я продолжаю верить в добрую и удобную сущность этой штуки :)