2016-03-11 2 views
1

может кто-нибудь помочь мне с публикацией Kentico CMS 9. Когда я публикую приложение от визуальной студии и загрузить на сервер я получил это исключение:Publishing Kentico CMS 9 - Исключение WebFarmTaskManager.CanCreateTask

enter image description here

Когда я загружать файлы из папки разработчика на моем компьютере на тот же веб-хостинг, все работает хорошо.

Помогите мне, пожалуйста?

ответ

2

Проблема была в публикации только один из двух проектов в растворе.

С Kentico 9 публикуют документы:

проекты веб-приложений Издательство Если вы планируете опубликовать из Visual Studio, мы рекомендуем устанавливать проекты Kentico с конфигурацией веб-сайта. Чтобы использовать функцию публикации для проектов веб-приложений Visual Studio для Kentico, вам необходимо последовательно опубликовать все проекты в решении в том же целевом местоположении: CMSApp CMSApp_AppCode После развертывания первого проекта убедитесь, что ваш профиль публикации имеет удаление всех существующих файлов перед публикацией/удалением дополнительных файлов по назначению. Вы можете настроить этот параметр в диалоговом окне «Опубликовать в Интернете» в «Параметры -> Параметры публикации файла».

Kentico 9 Documentation

0

Это может быть ошибка, в которой он не встроен, Kentico 9 по-прежнему новенький, поэтому вы можете зарегистрировать его как ошибку.

В противном случае, хотя я верю, что где-то во время запуска вам необходимо зарегистрировать задачу фермы, используя WebFarmHelper.RegisterTask, возможно, вы можете попробовать использовать пользовательский модуль Loader, чтобы добавить этот код там, где это выполняется при запуске.

https://docs.kentico.com/display/K9/Handling+global+events

using CMS.Base; 
using CMS.DocumentEngine; 

[CustomDocumentEvents] 
public partial class CMSModuleLoader 
{ 
    /// <summary> 
    /// Attribute class that ensures the loading of custom handlers. 
    /// </summary> 
    private class CustomDocumentEventsAttribute : CMSLoaderAttribute 
    { 
     /// <summary> 
     /// The system executes the Init method of the CMSModuleLoader attributes when the application starts. 
     /// </summary> 
     public override void Init() 
     { 
      // Call WebFarmHelper.RegisterTask here 
     } 
    } 
} 
0

Спасибо Дэвид Славика. Как вы сказали, сначала опубликуйте CMSApp_AppCode, затем в той же папке CMSApp, но будьте осторожны, чтобы отключить параметр «Удалить все существующие файлы до публикации».

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