private static void RegisterJS() { BuildProvider.RegisterBuildProvider(".js", typeof(StaticBuildProvider)); WebPageLocatorFactory.RegisterLocator(".js", StaticPageLocator.Instance); WebPageExtensions.Register(".js"); #if (DEBUG) _watchers.Add(PageUtil.WatchFiles(".js", (file, virtaulPath) => { if (!StaticBuildProvider.IsIgnore(virtaulPath)) { StaticBuildProvider.RemoveCache(); } })); #endif }
private static void RegisterHTM() { WebPageLocatorFactory.RegisterLocator(".htm", XamlPageLocator.Instance); WebPageExtensions.Register(".htm"); BuildProvider.RegisterBuildProvider(".htm", typeof(XPCBuildProvider)); //在VS里执行生成时,App_Code下的cs文件会自动编译,如果某个文件生成失败,那么整个生成操作(包括htm)会终止并且报错 //这就导致修改后的htm始终无法生成新的cs文件,因此,我们使用XPCBuildIgnoreProvider来让VS不执行cs的生成操作 BuildProvider.RegisterBuildProvider(".cs", typeof(XPCBuildIgnoreProvider)); #if (DEBUG) _watchers.Add(PageUtil.WatchFiles(".htm", (file, virtualPath) => { HtmlWatcher.Instance.OnChange(virtualPath); })); _watchers.Add(PageUtil.WatchFiles(".cs", (file, virtualPath) => { CSharpWatcher.Instance.OnChange(virtualPath); })); #endif }