"Upgrading is not free, and it isn't painless," said Ed Robinson, programme manager with Microsoft's Visual Basic.net team, at the VSLive! developer conference in San Francisco.
The warning followed the final release of Microsoft's Visual Studio .net development suite, which Microsoft has handed programmers a comprehensive set of tools for building applications to run on its emerging Web-based computing platform.
"I can think of several scenarios where it would make perfect sense to migrate an application to .net, and I can think of scenarios where it makes no sense at all," said Daniel Appleman, president of IT consulting services company Seaware, who attended the conference.
"Generally speaking, porting an application to .net is not going to be economical," Appleman said. "You really should have a sound economic reason to do so."
Microsoft developers agree with Appleman despite the fact that the company is about to launch a £140m marketing campaign to push .net to enterprise customers.
Bringing an existing application to .net could be more trouble than it is worth, Robinson said. The only reason to move an application to .net would be to take advantage of new features in the development environment.
For those who do take the plunge, there is a lot of work to be done, according to Robinson, which develops tools to simplify the upgrade process.
"You should practice upgrading," Robinson said. "Start with something small. Practice with a one-form or two-form application. Upgrade one component at a time."
Another suggestion to do test runs of the migration process and to not always count on the first effort being a successful one.
Applications designed in Microsoft's popular Visual Basic programming language will make an easier transition to .net than those developed in other languages. While Visual Basic 6 applications are not compatible with the new development environment, Microsoft has included an upgrade wizard with Visual Studio .net that is designed to automatically turn an application developed in that language to .net.
Developed by developer tools maker Artinsoft, the wizard converts Visual Basic 6.0 code into Visual Basic .net code. For portions of an application that can't be automatically ported into Microsoft's new .net code, the wizard produces a report that details all of the lines of code that could not be upgraded and tips for how to upgrade those portions manually.
Microsoft and Artinsoft are developing a similar tool for porting applications written in Java to .net.
The Java Language Conversion Assistant (JLCA) will automatically convert basic Java source code into C#, a language developed by Microsoft and designed to build Web-based applications. An enterprise version of JLCA for large Java applications is due out later this year.
Using the Visual Basic upgrade wizard, Artinsoft said it has been able to upgrade between 7,000 to 10,000 lines of code per week from Visual Basic 6.0 to Visual Basic .net. Comparatively, developers could only write about 100 to 200 lines of code per week if they tried the same task manually, said Federico Zoufaly, chief technology officer of Artinsoft.
It was unclear whether Microsoft planned to build migration tools for other languages supported in .net, such as COBOL and Fortran.