2016-05-25 1 views
0

Итак, я попытался опубликовать экземпляр Orchard (как для веб-развертывания, так и для файловой системы). У меня довольно много настраиваемых модулей и настраиваемая тема. У меня есть ResourceManifest : IResourceManifestProvider в проекте моей темы. Да тема имеет свой собственный проект и включена в решение. Сценарии и стили, которые я определил, прекрасно работают, когда я отлаживаю его и работаю над своей средой dev. Все идет нормально.Orchard CMS не обнаруживает ресурсы, определенные в теме после публикации из Visual Studio

Сегодня я попытался настроить тестовую среду текущей версии. Поэтому я попытался получить только самое необходимое без копирования/вставки всей структуры папок. Естественно, я попытался опубликовать проект Orchard.Web. И после короткой борьбы, чтобы получить права разрешений применяются ... он работал, и я мог получить доступ к сайту. К сожалению, когда я перешел на одну из моих пользовательских страниц с Style.Require («Ресурс, определенный в теме»), он разбился с сообщением об ошибке, что ресурс с именем «bla bla» не найден.

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

Может ли быть кеширование? Должен ли я перезапустить IIS или только WebSite в IIS? Как-то эти новые определения не могут быть обнаружены.

В конце я попытался использовать Style.Include, и казалось, что он не будет разбиваться, только чтобы увидеть, что, когда я перехожу к своей странице, я получаю сообщение «Страница не существует» в области содержимого (в наименее не сбой) ...

Я полностью потерял эту проблему. Любая помощь будет оценена по достоинству. Я могу дать вам более подробную информацию, просто дайте мне знать, что.

Я бегу Orchard v.1.8.1.0.

Это мой код: сообщение

manifest.DefineScript("Bootstrap").SetUrl("http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"); 
     manifest.DefineStyle("Bootstrap").SetUrl("http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css"); 

Ошибка:

System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.InvalidOperationException: A 'stylesheet' named 'Bootstrap' could not be found. at Orchard.UI.Resources.ResourceManager.BuildRequiredResources(String resourceType) in 

EDIT 03.01.2017

Я отказался от своих усилий на некоторое время. Сегодня я решил начать борьбу снова, и я нашел следующее:

  1. Я переместил определения ресурсов из MyThemeProject/ResourceManifest.cs до NonThemeCustomModule/ResourceManifest.cs файл (тот, который я написал).
  2. Я перестраиваю и перепечатываю с помощью веб-развертывания И он работал !!!!

Это довольно круто и решает мою проблему, но также весьма неожиданно, так как у меня одинаковые определения дважды, и Орчард не жалуется на это. Это заставляет меня поверить, что файл ResourceManifest в теме по какой-то причине не учитывается. Если кто-либо из команды Orchard может сказать мне, что я делаю неправильно, или если это ошибка Орчард, это было бы здорово.

Cheers!

+0

Вы уверены, что манифест также опубликован? Включен ли он в решение? – devqon

+0

Да, манифест включен. Он работает нормально, когда я развиваюсь. Когда я создаю его локально, и он имеет все файлы, которые он работает. Но когда я 'Publish', это не работает. Это бьет меня. –

+0

Orchard также имеет расширение для 'DefineScript (« SomeScript »). SetCdn (« cdnurl »)' – devqon

ответ

0

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

+0

Ресурсы Bootstrap берутся из Bootstrap CDN - со ссылкой. Они не находятся в файловой системе. В любом случае ваше предложение обычно является хорошей отправной точкой для любых ресурсов. –

Смежные вопросы