Support Statement: What is a Build-Complete ASP Upgrade?
"Build-Complete" is a baseline verifiable state for upgraded code. Â For your ASP site it means the following:
- Each ASP/ASA script is upgraded to a System.Web.UI.Page organized into two files: a markup file (.aspx) and a code-behind (.aspx.cs) file.
- Each Include file is upgraded to a code class or a System.Web.UI.Control organized into two files: a markup file (ascx) and a code-behind (ascx.cs) file. Â If an include contains a VBScript class it becomes a separate code class.Â
- All markup is for the most part preserved and all server-side VBScript becomes C#. Declarations are moved to the code-behind files. Â
- If migrating the include file to a control, the #include tag becomes two custom tags in the translation of the including file, for example
<!-- #include file="../includes/routines.ascx" --> becomes <%@ Register TagPrefix="inc" TagName="app_includes_routines" Src="../includes/routines.ascx" %> ... <inc:Optix_includes_routines ID="_routines1" runat="server" />
- If migrating the include file to a code class, the #include tag becomes a call to the include class's Author_Markup routine
<!-- #include file="../includes/routines.ascx" --> becomes app.includes.routines routines1; // in code behind ... <% routines1.Author_Markup(); %>
- We also generate a default web.config and a web application project file (e.g. app.csproj) that integrates all the files.Â
- References to external APIs (i.e., COM APIs such as ADODB) are replaced by references to a stubbed-out COM framework based on needs of the application code.  The tool also generates this stubbed COM framework and integrates it with the web application.  We also generate a stub class called MigrationSupport.cs that contains stub functions for VBScript operations that are semantically different than the corresponding functions in C#.
- "Build-Complete" means that the web application project file can be processed to an assembly without fatal errors when you compile it using the C# compiler (CSC.EXE) and the ASPNET Page Compiler (ASPNET_Compiler.exe). Â It is a verification that all of the code, in both the code-behind and markup files, is well-formed and internally consistent. Â This also includes an extensive amount of type inference to make the code more strongly typed. Â The build can be initiated either using Visual Studio or MSBuild. Â
- "Build-Complete" is only a starting point it will not run very well. Â At a minimum, the upgrade solution would be enhanced to replace references to stubs with references to the desired .NET classes that provide the services needed by the application. Â Additional technical changes may be made by hand or by tool, as desired.
See also:
- The FMStocks sample illustrates a Custom ASP site upgrade to runnable code. You may download this sample and translate it with default rules to produce a build complete result. Please contact Great Migrations if you would like to see a demonstration of FMStocks, or any other upgrade.