Links

Microsoft.VisualBasic Uses

Visual Basic 6 inherited features in VB.NET which C# lacks.
Most can be modeled with different constructions to achieve functional equivalence:
  • C# equivalent instructions.
  • Helper classes.
The rest maps to classes, structures, and enumerations on Microsoft.VisualBasic namespace.
Classes
Enums
Structs
CompareMethod
CallType
SpcInfo
Constants
FileAttribute
TabInfo
Conversion
FirstDayOfWeek
DateAndTime
FirstWeekOfYear
FileSystem
MsgBoxStyle
Information
OpenAccess
Interaction
OpenMode
Strings
OpenShare
VBMath
VariantType
VbStrConv

Microsoft.VisualBasic namespace

The Microsoft.VisualBasic namespace contains types that support the Visual Basic Runtime in Visual Basic. For a complete reference check: Microsoft.VisualBasic.
The Visual Basic Runtime is written entirely in .NET. Please refer to Visual Basic Runtime.
  • "Visual Basic developers have long associated the term "Visual Basic Runtime" with a set of core library files, such as msvbvm60.dll, that are required for Visual Basic 6.0 (and prior) programs to run. In Visual Basic .NET, the term "Visual Basic Runtime" refers to the set of classes in Microsoft.VisualBasic namespace. The Visual Basic Runtime provides the underlying implementation for global Visual Basic functions and language features such as Len, IsDate, and CStr. And though the new Visual Basic Runtime provides similar facilities as its predecessors, it is entirely managed code (developed in Visual Basic .NET) that executes on the common language runtime. Furthermore, the Visual Basic Runtime is part of the .NET Framework, so it is never something separate that your application has to carry or deploy.".
  • "Many of the methods in the Visual Basic Runtime actually use methods and properties from the System namespace (for example, Len() returns String.Length). In some cases, you can achieve equivalent results by accessing .NET Framework class library classes directly, but typically you will be more productive using the Visual Basic Runtime when authoring your code. In many cases, the Visual Basic Runtime wrappers provide additional functionality that you would have to code yourself if using the System namespace directly. In other cases, such as IsDate, there is no directly equivalent functionality in the System namespace.".
The idea behind the VBUC is to use the minimum possible elements from Microsoft.VisualBasic namespace. However, you don't have to worry about the remaining ones as they are written in .NET.