VB6 Conversion issues

Part of my day job is to lead the migration project from VB6 to .NET. You need to be shot at if you think the migration wizard will solve your problems. That’s putting it bluntly. To be politically correct, there are lots of issues. I’ll document those as I run into them and keep adding to this post. Hopefully, I’ll have time to write some kb articles on this as well.

The estimate of 7000 lines per week of converted code is fairly accurate. This improves with familiarity and it is possible to get to around 10,000 lines of converted code per week. See this link: http://www.devx.com/vb/article/16822

-Moving a windows VB6 client to the web that uses email. Microsoft does not support .NET and exchange server and CDO. The supported approach is to use WebDav. 

-For each statements in asp pages don’t return valid values. Ex.

-Replacing exceptions with the enterprise library. By default Enterprise Library Data Access Application Block uses System.Data.SqlClient as the provider. In order to be able to use ODBC connectivity, you will need to configure Data Access Application Block.

.NET 2.0 client is not able to communicate with a web service hosted on a Windows 2000 server. Search for the string hostname in the WSDL and replace it with the IP address of the server. The exception message is usually:

[WebException: The request failed with HTTP status 404: Object Not Found.]
System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall) +533199
System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) +204
BFGServiceApp.ReportService.ReportURLService.ReportURLInfo(String AppKey) in C:\webroot\BFGIntranet\BFGServiceApp\Web References\ReportService\Reference.vb:80
BFGServiceApp.CallReportService.Page_Load(Object sender, EventArgs e) in C:\webroot\BFGIntranet\BFGServiceApp\CallReportService.aspx.vb:8
System.Web.UI.Control.OnLoad(EventArgs e) +99
System.Web.UI.Control.LoadRecursive() +47
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1061
-Cannot access object properties using foreach loop. Solution is to rewrite the asp code with a for statment.

Leave a Reply

Your email address will not be published. Required fields are marked *