任何人都可以帮我发布Kentico CMS 9.当我从visual studio发布应用程序并上传到服务器时,我收到了这个例外:
当我将计算机上的开发人员文件夹中的文件上传到同一个虚拟主机时,一切运行良好。
请帮帮我吗?
答案 0 :(得分:2)
问题在于只发布解决方案中的两个项目中的一个。
来自Kentico 9发布文档:
发布Web应用程序项目 如果您计划从Visual Studio发布,我们建议您使用网站配置安装Kentico项目。 要使用Visual Studio for Kentico Web应用程序项目的Publish功能,您需要将解决方案中的所有项目顺序发布到同一目标位置: CMSApp CMSApp_AppCode 部署第一个项目后,请确保您的发布配置文件在发布/删除目标选项之前删除所有现有文件选项已禁用。您可以在“设置”中的“发布Web”对话框中配置该选项 - >文件发布选项。
答案 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中发布,但请注意禁用“删除发布前删除所有现有文件”选项。