anchor.diff:                      file "Global.asax"
                       file "Main.html"
                       file "Setup.fsx"
  -                ])
  -                .ReplaceParameters()
  -        makeProjectTemplate com meta project
  -
  -    let getBundleSiteTemplate com =
  -        let dir = com.Config.RootPath +/ "templates" +/ "bundle-website"
  -        let meta =
  -            "Creates an empty single-page HTML application."
  -            |> makeTemplateMetadata com "Single-Page Application" "SinglePageApplication"
  -        let file name =
  -            let i = VST.ProjectItem.FromTextFile(dir +/ name).ReplaceParameters()
  -            VST.FolderElement.Nested(i)
  -        let project =
  -            VST.Project.FromFile(dir +/ "SinglePageApplication.fsproj",
  +                ]
  +        }
  +
  +    let siteletsHtmlTemplate =
  +        {
  +            Name = "HTML Application"
  +            PathName = "sitelets-html"
  +            DefaultProjectName = "HtmlApplication"
  +            Description =
  +                "Creates a starter sitelet-based HTML application."
  +            ProjectFile = "HtmlApplication.fsproj"
  +            Files = fun file folder ->
                   [
                       file "Client.fs"
                       file "Main.fs"
  -                    file "Web.config"
  -                    file "Global.asax"
  -                    file "index.html"
  -                ])
  -                .ReplaceParameters()
  -        makeProjectTemplate com meta project
  -
  -    let getSiteletsHtmlTemplate com =
  -        let dir = com.Config.RootPath +/ "templates" +/ "sitelets-html"
  -        let meta =
  -            "Creates a starter sitelet-based HTML application."
  -            |> makeTemplateMetadata com "HTML Application" "HtmlApplication"
  -        let file repl name =
  -            let i = VST.ProjectItem.FromTextFile(dir +/ name).ReplaceParameters()
  -            VST.FolderElement.Nested(i)
  -        let project =
  -            VST.Project.FromFile(dir +/ "HtmlApplication.fsproj",
  -                [
  -                    file true "Client.fs"
  -                    file true "Main.fs"
  -                    file false "extra.files"
  -                    file false "Main.html"
  -                ])
  -                .ReplaceParameters()
  -        makeProjectTemplate com meta project
  -
  -    let getSiteletsHostTemplate com =
  -        let dir = com.Config.RootPath +/ "templates" +/ "sitelets-host"
  -        let meta =
  -            "Creates a C#-based web project for hosting WebSharper sitelets in a web server."
  -            |> makeTemplateMetadata com "ASP.NET Container" "Web"
  -        let file name =
  -            VST.ProjectItem.FromTextFile(dir +/ name).ReplaceParameters()
  -            |> VST.FolderElement.Nested
  -        let folder name xs =
  -            let f = VST.Folder.Create(name, xs)
  -            VST.FolderElement.Folder(f)
  -        let project =
  -            VST.Project.FromFile(dir +/ "Web.csproj",
  +                    file "extra.files"
  +                    file "Main.html"
  +                ]
  +        }
  +
  +    let siteletsHostTemplate =
  +        {
  +            Name = "ASP.NET Container"
  +            PathName = "sitelets-host"
  +            DefaultProjectName = "Web"
  +            Description =
  +               "Creates a C#-based web project for hosting WebSharper sitelets in a web server."
  +            ProjectFile = "Web.csproj"
  +            Files = fun file folder ->
                   [
                       folder "Properties" [
                           file "Properties/AssemblyInfo.cs"
                       ]
                       file "Main.html"
                       file "Web.config"
  -                ])
  -                .ReplaceParameters()
  -        makeProjectTemplate com meta project
  +                ]
  +        }
   
       let getWebSharperExtension com =
           let desc = getExtensionDecription ()
  
positive.code:         let vsix =
              VX.Vsix.Create(identifier,
                  [
                      proj (getLibraryTemplate com)
                      proj (getExtensionTempalte com)
                      proj (getBundleSiteTemplate com)
                      proj (getSiteletsWebsiteTemplate com)
                      proj (getSiteletsHtmlTemplate com)
                      proj (getSiteletsHostTemplate com)
                  ])
          VX.VsixFile.Create(Path.GetFileName(com.Config.VsixPath), vsix)
  
      let BuildVsixFile cfg =
  
negative.code:             icon = com.Icon)
              .WithDefaultProjectName(dpn)
  
      let makeProjectTemplate' com def =
          let dir = com.Config.RootPath +/ "templates" +/ def.PathName
          let file name =
              VST.ProjectItem.FromTextFile(dir +/ name).ReplaceParameters()
              |> VST.FolderElement.Nested
          let folder name xs =
              VST.Folder.Create(name, xs)
              |> VST.FolderElement.Folder
          let meta = makeTemplateMetadata com def.Name def.DefaultProjectName def.Description
          let project =
              VST.Project.FromFile(dir +/ def.ProjectFile, def.Files file folder)
                  .ReplaceParameters()
          let identity = getIdentity ()
          let c = Content.ReadBinaryFile(com.Config.NuPkgPath)
          let vn = com.VersionInfo
          let pkg = NG.Package.Create(vn.PackageId, vn.FullVersion, c)
          let nuGet = VST.NuGetPackages.Create(identity, [pkg])
          VST.ProjectTemplate.Create(meta, project)
              .WithNuGetPackages(nuGet)
  
      let libraryTemplate =
          {
              Name = "Library"
              PathName = "library"
              DefaultProjectName = "Library"
              Description =
                  "Creates an F# library capable of containing WebSharper-compiled code."
              ProjectFile = "Library.fsproj"
              Files = fun file folder -> [file "Main.fs"]
          }
  
      let extensionTemplate =
          {
              Name = "Extension"
              PathName = "extension"
              DefaultProjectName = "Extension"
              Description =
                  "Creates a new WebSharper extension to existing JavaScript code using \
                      the WebSharper Interface Generator (WIG) tool."
              ProjectFile = "Extension.fsproj"
              Files = fun file folder -> [file "Main.fs"]
          }
  
      let bundleSiteTemplate =
          {
              Name = "Single-Page Application"
              PathName = "bundle-website"
              DefaultProjectName = "SinglePageApplication"
              Description =
                  "Creates an empty single-page HTML application."
              ProjectFile = "SinglePageApplication.fsproj"
              Files = fun file folder ->
                  [
                      file "Client.fs"
                      file "Main.fs"
                      file "Web.config"
                      file "Global.asax"
                      file "index.html"
                  ]
          }
  
      let siteletsWebsiteTemplate =
          {
              Name = "Client-Server Web Application"
              PathName = "sitelets-website"
              DefaultProjectName = "Application"
              Description =
                  "Creates a starter client-server web application based on sitelets."
              ProjectFile = "Application.fsproj"
              Files = fun file folder ->
                  [
                      file "Remoting.fs"
                      file "Client.fs"
  