发布Kentico CMS 9-异常WebFarmTaskManager.CanCreateTask

发布Kentico CMS 9-异常WebFarmTaskManager.CanCreateTask,kentico,Kentico,有人能帮我出版肯迪科CMS9吗。当我从visual studio发布应用程序并上载到服务器时,我收到了以下异常: 当我将文件从我电脑中的开发者文件夹上传到同一个网络主机时,一切都运行良好 你能帮帮我吗?这可能是一个没有内置的bug,Kentico 9仍然是新的,所以你可能想将其作为bug记录 否则,尽管我认为在启动过程中的某个地方确实需要使用WebFarmHelper.RegisterTask注册场任务,但也许您可以尝试使用自定义加载程序模块在启动时添加该代码 使用CMS.Base; 使用C

有人能帮我出版肯迪科CMS9吗。当我从visual studio发布应用程序并上载到服务器时,我收到了以下异常:

当我将文件从我电脑中的开发者文件夹上传到同一个网络主机时,一切都运行良好


你能帮帮我吗?

这可能是一个没有内置的bug,Kentico 9仍然是新的,所以你可能想将其作为bug记录

否则,尽管我认为在启动过程中的某个地方确实需要使用WebFarmHelper.RegisterTask注册场任务,但也许您可以尝试使用自定义加载程序模块在启动时添加该代码

使用CMS.Base;
使用CMS.DocumentEngine;
[定制文档事件]
公共部分类CMSModuleLoader
{
/// 
///确保加载自定义处理程序的属性类。
/// 
私有类CustomDocumentEventsAttribute:CMSLoaderAttribute
{
/// 
///当应用程序启动时,系统执行CMSModuleLoader属性的Init方法。
/// 
公共重写void Init()
{
//请在此处致电WebFarmHelper.RegisterTask
}
}
}

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

从Kentico 9发布文档:

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

谢谢大卫·斯拉维克。 正如您所说,先发布CMSApp_AppCode,然后在同一文件夹中发布CMSApp,但请注意禁用“发布前删除所有现有文件”选项

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