Итак, я попытался опубликовать экземпляр 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
Я отказался от своих усилий на некоторое время. Сегодня я решил начать борьбу снова, и я нашел следующее:
- Я переместил определения ресурсов из MyThemeProject/ResourceManifest.cs до NonThemeCustomModule/ResourceManifest.cs файл (тот, который я написал).
- Я перестраиваю и перепечатываю с помощью веб-развертывания И он работал !!!!
Это довольно круто и решает мою проблему, но также весьма неожиданно, так как у меня одинаковые определения дважды, и Орчард не жалуется на это. Это заставляет меня поверить, что файл ResourceManifest в теме по какой-то причине не учитывается. Если кто-либо из команды Orchard может сказать мне, что я делаю неправильно, или если это ошибка Орчард, это было бы здорово.
Cheers!
Вы уверены, что манифест также опубликован? Включен ли он в решение? – devqon
Да, манифест включен. Он работает нормально, когда я развиваюсь. Когда я создаю его локально, и он имеет все файлы, которые он работает. Но когда я 'Publish', это не работает. Это бьет меня. –
Orchard также имеет расширение для 'DefineScript (« SomeScript »). SetCdn (« cdnurl »)' – devqon