Migration Project reports provide high-level information about the nature and status of your migration project tasks, configuration, and workspaces.
This is a text file mashup of three other reports:
This is a high level html report providing summary counts about the source codebase.
A high level report detailing the current attribute values for each migration task
MigName ' Name of parent migration project SrcName ' Unique identifier of the task within the migration project SrcSize ' Source LOC for VBP/ASP (a negative value for missing files) IntName ' Internal Name of Migration Task (e.g. VBP.Name) RefStat ' Interface description file status (see LibStat Flags) SrcBlds ' VB6 Build Status (SUCCESS|FAIL) TrnStat ' Translation Status (SUCCESS|WARN|ERROR|ABEND) NetSize ' Source LOC for .NET code (includes RESX, CODE, PROJ) NetBlds ' .NET Build Status (SUCCESS|FAIL) LastMsg ' Last status message UsrCmnt ' User comment for tracking and documentation purposes NetLang ' Target .NET Language (csh|vbn) UsrDesc ' Task description for tracking and documentation purposes SrcOrdr ' Source build order based on Vbp references or Asp #includes SrcFldr ' Location of source file (Vbp or Web content) SrcFile ' Name of migration project source file SrcType ' Type of migration project (VBP|WEB|XML) BldPath ' Path of build product BldType ' Type of build product (VBP:Exe|OleDll|OleExe|Control or WEB:PULP|INCLUDE|PAGE) TScript ' Translation script template name UsrCmds ' User command script to run after key processing steps TaskTag ' tag (used to help identify files and directories associated with each unit/task) SrcDesc ' VBP Project Title, or file path for ASP
A consolidated listing of the logs and migration task attributes; an audit of inputs and outputs (free form)
The .NET build logs, parsed, tabulated, and aggregated. Answers the question: What is breaking the build?
PrjName ' .NET Project File Name TaskTag ' Migration Task Tag SrcName ' Migration Task Name RunDate ' Build Log Date MsgType ' Build Log Message Type MsgTool ' Build Log Message Tool MsgNumb ' Build Log Message Number MsgText ' Build Log Message Full Text GenText ' Build Log Message Generic Text SrcFile ' Build Log Message Source File Name SrcRecd ' Build Log Message Source Location
SrcText ' Build Log Message Source Content
SrcMemb ' Build Log Message Source Member containing the error (C# only) PrjFldr ' Build Log Message Source Folder SrcOrdr ' Migration Task Build Order
SrcType ' Build Log Message Source File Type
Automated .NET Code Review
Note that the Build Log report will tabulate code analysis results if they are in the MSBuild log. This can be a convenient way to run an automated code review of your new .NET codebase. See Code Analysis in MSDN for additional details on using MSBuild for code reviews.
To activate this, you can add a RunCodeAnalysis element to the .NET project file. This can be made an automated step in the upgrade process by adding an Author/Fix (aka a Post-Edit) to the template upgrade script as shown below.
<Author> ... <Fix name="Post-Edit"> <Replace name="Activate Code Analysis" lang="csproj"> <OldBlock><![CDATA[ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> ]]></OldBlock> <NewBlock><![CDATA[ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <RunCodeAnalysis>true</RunCodeAnalysis> ]]></NewBlock> </Replace> </Fix> </Author>
The resulting build log may contain code review messages, for example:
MSBUILD : warning CA1060: Microsoft.Design : Because it is a P/Invoke method, 'basForm.GetWindowPlacement(int, ref basForm.WINDOWPLACEMENT)' should be defined in a class named NativeMethods, SafeNativeMethods, or UnsafeNativeMethods. [C:\gmClients\Client\proj\deploy\App\Sample.csproj]
This information will be captured in the .NET Build Log Report fields:
Project Name = Sample.vbp Task Tag = std Dialect = csh Source Name = MigName-App-std-csh.NETBld.log Run Date = 2017/09/16 10:20 Message Type = warning Tool = CODEREV Message Number = CA1060 Message Text = Because it is a P/Invoke method, 'basForm.GetWindowPlacement(int, ref basForm.WINDOWPLACEMENT)' should be defined in a class named NativeMethods, SafeNativeMethods, or UnsafeNativeMethods. Generalized Text = Microsoft.Design Source File Name = Source Task Type = - Source Text = - Source Record = - .NET Project Folder = 'C:\gmClients\Client\proj\deploy\App' Build Order = _0001
Translation Logs: the translation logs, parsed, tabulated, and aggregated. Answers the question: What is happening during translation?
SrcName ' Migration Task Name RunDate ' Migration Task Translation Date MsgType ' Translation Message Type MsgNumb ' Translation Message Number MsgText ' Translation Message Full Text GenText ' Translation Message Generic Text SrcFile ' Source File Name SrcType ' Source File Type SrcPosn ' Source File Location Column SrcText ' Source File Content SrcRecd ' Source File Location Line
Code Bundles: the code bundles, parsed, tabulated, and aggregated. Answers the question: What is the migration deployment manifest?
BundlFldr ' Bundle File Folder BundlFile ' Bundle File Name EntryText ' Bundle Content Name EntryType ' Bundle Content Type EntryExtn ' Bundle Content Extension EntryFrst ' Bundle Content Start Location EntryLast ' Bundle Content End Location EntrySize ' Bundle Content Line Count
The interface descriptions, parsed, tabulated, and aggregated. Answers the question: What libraries are in play and how are they defined to the system?
FilPath ' IDL File Path ComFldr ' COM File Folder ComFile ' COM File Name LibName ' COM Library Name LibType ' COM Library Type LibGuid ' COM Library GUID LibVers ' COM Library Version LibDesc ' COM Library Description
The COM ProgIDs defined in the COM types referenced by a migration project. Answers the question: What classes are in play and where are they defined to the system?
ProgId ' ProgId IdfPath ' IDF File Path