Export (0) Print
Expand All

Microsoft.VisualBasic.Compatibility.VB6.<member> is obsolete and supported within 32 bit processes only

In prior versions of Visual Studio .NET, an upgrade wizard was provided to upgrade projects created in Visual Basic 6.0. As a part of the upgrade process, the wizard used the Microsoft.VisualBasic.Compatibility namespaces to provide functionality that was not available in version 1.0 of the .NET Framework.

Visual Studio no longer includes the ability to upgrade Visual Basic 6.0 applications, and in version 4 of the .NET Framework all members in these namespaces are marked as obsolete.

What this means is that the Compatibility namespaces may not be included in future versions of the .NET Framework. Although this has no impact on your application in Visual Studio, it could cause breaking changes in your application in future versions of Visual Studio.

In addition, Visual Basic 6.0 and the Compatibility namespaces were intended to target 32 bit platforms. Calling the Compatibility namespaces from a 64 bit process is unsupported and could cause unpredictable results.

There are several options for dealing with this warning.

Change the target framework version

  • The warning only appears if the target version of the .NET Framework is set to 4 or 4.5. If your application does not require features specific to version 4 or 4.5, change the version back to 3.5. For more information, see How to: Target a Version of the .NET Framework.

Update code that references the Compatibility namespaces

  • Functions in the Compatibility namespaces were created to work around shortcomings in version 1.0 of the .NET Framework. In most cases, functionality added in later framework versions can be used to rewrite the functions, resulting in improved performance.

    Note Note

    For the latest information on updating Visual Basic 6.0 code visit the Visual Basic 6.0 Resource Center http://go.microsoft.com/fwlink/?LinkID=186768.

Ignore the warning

  • The warning has no impact on your application in Visual Studio. If you do not intend to upgrade the application to future versions of Visual Studio or simply want to defer your decision, do nothing.

    While no decision has been made, it is possible that the assembly containing the Compatibility namespace could be removed from a future version of the .NET Framework redistributable. This could require you to package the assembly separately and redistribute it with your application.

Show:
© 2014 Microsoft