Good question. The VB.NET Language specification only mentions โimplicit importโ without providing an authoritative list. I can reverse engineer it from the command line, as shown in the output window, VS2008 and VS2010 use this option / Import command line:
- Microsoft.VisualBasic,
- System,
- System.Collections,
- System.Collections.Generic,
- System.Data,
- System.Diagnostics,
- System.Linq,
- System.Xml.Linq
MSBuild sets them to Microsoft.VisualBasic.targets from the Import variable. Which is installed in the .vbproj file:
<ItemGroup> <Import Include="Microsoft.VisualBasic" /> <Import Include="System" /> <Import Include="System.Collections" /> <Import Include="System.Collections.Generic" /> <Import Include="System.Data" /> <Import Include="System.Diagnostics" /> <Import Include="System.Linq" /> <Import Include="System.Xml.Linq" /> </ItemGroup>
Changing the Project + Reference parameter changes this list, but there is no obvious one-to-one correspondence, since this screen changes assembly references, the <Import> variable contains a list of namespaces. I will have to kick, this is ultimately determined by the project template.
source share