我正在尝试启动一个 Sitefinity 4.2 项目。作为项目的一部分,我需要在 global.asax 文件中注册一些控件,如下所示:
protected void Application_Start(object sender, EventArgs e) {
//log call
logStartUpCall(string.Concat("Application started at: ", DateTime.Now));
Telerik.Sitefinity.Abstractions.Bootstrapper.Initialized += new EventHandler<Telerik.Sitefinity.Data.ExecutedEventArgs>(Bootstrapper_Initialized);
//log call
logStartUpCall(string.Concat("Call made to bootstrapper: ", DateTime.Now));
}
protected void Application_OnStart(object sender, EventArgs e) {
//log call
logStartUpCall(string.Concat("Application started at: ", DateTime.Now));
Telerik.Sitefinity.Abstractions.Bootstrapper.Initialized += new EventHandler<Telerik.Sitefinity.Data.ExecutedEventArgs>(Bootstrapper_Initialized);
//log call
logStartUpCall(string.Concat("Call made to bootstrapper: ", DateTime.Now));
}
protected void Bootstrapper_Initialized(object sender, Telerik.Sitefinity.Data.ExecutedEventArgs args) {
//log call
logStartUpCall(string.Concat("Bootstrapper_Initialized:", " ", DateTime.Now));
//register dialogs for custom module fields
Telerik.Sitefinity.Web.UI.Dialogs.RegisterDialog<SitefinityModuleFields.Dialogs.SimpleImageSelectorDialog>();
logStartUpCall(string.Concat("Simple Image Selector dialog registered at:", " ", DateTime.Now));
Telerik.Sitefinity.Web.UI.Dialogs.RegisterDialog<SitefinityModuleFields.Dialogs.SimpleVideoSelectorDialog>();
logStartUpCall(string.Concat("Simple Video Selector dialog registered at:", " ", DateTime.Now));
Telerik.Sitefinity.Web.UI.Dialogs.RegisterDialog<ioscms.AppCode.ModuleFields.SimpleDocumentSelectorDialog>();
logStartUpCall(string.Concat("Simple Document Selector dialog registered at:", " ", DateTime.Now));
//log call
logStartUpCall(string.Concat("Dialogs registered at: ", DateTime.Now));
}
protected void logStartUpCall(string message) {
TextWriter tw = new StreamWriter(System.Web.Hosting.HostingEnvironment.MapPath("/App_Data/SiteFinity/Logs/Startup.log"), true);
// write a line of text to the file
tw.WriteLine(message);
// close the stream
tw.Close();
}
这在正常调试模式下完美运行。我正在使用 Web 部署项目来部署项目。这当然会预编译网站。我正在使用的设置是:
SingleAssembly UpdateAble: true DebugSymbols: false
sitefinity 的另一件事是无法预编译应用程序,因此必须删除 PrecompiledApp.config 文件。
我遇到的问题是Application_Start(我也尝试过Application_OnStart)从未执行过,所以当然对话框从未注册过。
我还尝试了“将每个单独的文件夹输出合并到自己的程序集”选项,但无济于事。
有没有人有任何想法?
在此先感谢希格斯