发布Kentico CMS 9 - 异常WebFarmTaskManager.CanCreateTask

时间:2016-03-11 13:26:24

标签: kentico

任何人都可以帮我发布Kentico CMS 9.当我从visual studio发布应用程序并上传到服务器时,我收到了这个例外:

enter image description here

当我将计算机上的开发人员文件夹中的文件上传到同一个虚拟主机时,一切运行良好。

请帮帮我吗?

3 个答案:

答案 0 :(得分:2)

问题在于只发布解决方案中的两个项目中的一个。

来自Kentico 9发布文档:

  

发布Web应用程序项目   如果您计划从Visual Studio发布,我们建议您使用网站配置安装Kentico项目。   要使用Visual Studio for Kentico Web应用程序项目的Publish功能,您需要将解决方案中的所有项目顺序发布到同一目标位置:   CMSApp   CMSApp_AppCode   部署第一个项目后,请确保您的发布配置文件在发布/删除目标选项之前删除所有现有文件选项已禁用。您可以在“设置”中的“发布Web”对话框中配置该选项 - >文件发布选项。

Kentico 9 Documentation

答案 1 :(得分:0)

这可能是一个没有内置的错误,Kentico 9仍然是新的,所以你可能想把它记录为bug。

否则,虽然我相信在启动的某个地方你需要使用WebFarmHelper.RegisterTask注册农场任务,也许你可以尝试使用自定义加载器模块在那里添加该代码,因为它在启动时运行。

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
        }
    }
}

答案 2 :(得分:0)

谢谢David Slavik。 正如您所说,首先发布CMSApp_AppCode,然后在同一文件夹CMSApp中发布,但请注意禁用“删除发布前删除所有现有文件”选项。