| Author: |
Carlos J. Quintero (Microsoft MVP) |
Applies to: |
Microsoft Visual Studio .NET 2002 |
| Date: |
August 2011 |
|
Microsoft Visual Studio .NET 2003 |
| Updated: |
March 2013 |
|
Microsoft Visual Studio 2005 |
| |
|
|
Microsoft Visual Studio 2008 |
| |
|
|
Microsoft Visual Studio 2010 |
| |
|
|
Microsoft Visual Studio 2012 |
Introduction
At the time of this writing, there have been the following versions of Visual
Studio (commercial names):
- Visual Studio .NET (2002)
- Visual Studio .NET 2003
- Visual Studio 2005
- Visual Studio 2008
- Visual Studio 2010
- Visual Studio 2012
When programming extensions (add-ins, packages, etc.) for Visual Studio, it is necessary
very often to know several internal version numbers that those Visual
Studio versions use.
More Information
Each Visual Studio version uses different internal version numbers related to
the following subjects:
- Visual Studio ProgId
If you want to automate Visual Studio from an external application or script, you can do it using COM Automation. To create the root EnvDTE.DTE object instance, you need to pass the Visual Studio ProgId to the CreateObject function of most COM-aware languages. See the article:
HOWTO: Automating Visual Studio .NET from outside the IDE.
The ProgId for each Visual Studio version is the following:
| Visual Studio version |
ProgId |
| Visual Studio .NET 2002 |
VisualStudio.DTE.7 |
| Visual Studio .NET 2003 |
VisualStudio.DTE.7.1 |
| Visual Studio 2005 |
VisualStudio.DTE.8.0 |
| Visual Studio 2008 |
VisualStudio.DTE.9.0 |
| Visual Studio 2010 |
VisualStudio.DTE.10.0 |
| Visual Studio 2012 |
VisualStudio.DTE.11.0 |
- Visual Studio solution format
The format used by the solution files (.sln) is different for each Visual Studio
version:
| Visual Studio version |
Solution format |
| Visual Studio .NET 2002 |
7.00 |
| Visual Studio .NET 2003 |
8.00 |
| Visual Studio 2005 |
9.00 |
| Visual Studio 2008 |
10.00 |
| Visual Studio 2010 |
11.00 |
| Visual Studio 2012 |
12.00 |
- Visual Studio registry keys
Visual Studio uses the Windows Registry to store settings for all users (HKEY_LOCAL_MACHINE) or for the current user (HKEY_CURRENT_USER). The registry key used for each Visual Studio version is the following:
| Visual Studio version |
Registry key |
| Visual Studio .NET 2002 |
Software\Microsoft\VisualStudio\7.0 |
| Visual Studio .NET 2003 |
Software\Microsoft\VisualStudio\7.1 |
| Visual Studio 2005 |
Software\Microsoft\VisualStudio\8.0 |
| Visual Studio 2008 |
Software\Microsoft\VisualStudio\9.0 |
| Visual Studio 2010 |
Software\Microsoft\VisualStudio\10.0 |
| Visual Studio 2012 |
Software\Microsoft\VisualStudio\11.0 |
- DTE version
Given an EnvDTE.DTE instance, you can get its version using the DTE.Version property. The value returned for each Visual Studio version is the following:
| Visual Studio version |
DTE.Version |
| Visual Studio .NET 2002 |
7.00 |
| Visual Studio .NET 2003 |
7.10 |
| Visual Studio 2005 |
8.0 |
| Visual Studio 2008 |
9.0 |
| Visual Studio 2010 |
10.0 |
| Visual Studio 2012 |
11.0 |
- Visual Studio installation folder
If you want to build solutions from the command-line you need the full path to
the Visual Studio application (devenv.exe). You can get the actual installation folder of each Visual Studio version reading the following registry key and value:
| Visual Studio version |
Registry key |
Value |
Default result for Windows 32-bit English (*) |
| Visual Studio .NET 2002 |
HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\7.0 |
InstallDir |
C:\Program Files\Microsoft Visual Studio .NET\Common7\IDE\ |
| Visual Studio .NET 2003 |
HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\7.1 |
InstallDir |
C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\IDE\ |
| Visual Studio 2005 |
HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\8.0 |
InstallDir |
C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\ |
| Visual Studio 2008 |
HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\9.0 |
InstallDir |
C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ |
| Visual Studio 2010 |
HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\10.0 |
InstallDir |
C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\ |
| Visual Studio 2012 |
HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\11.0 |
InstallDir |
C:\Program Files\Microsoft Visual Studio 11.0\Common7\IDE\ |
(*) The folder "Program Files" is localized in other languages and for Windows 64-bit English is "Program Files (x86)"
- .NET Framework 32-bit folder
You can get the actual
root installation folder of the .NET Framework 32-bit from a 32-bit
process
reading the registry key "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework"
(*),
"InstallRoot" value, which by default returns the result
"C:\Windows\Microsoft.NET\Framework".
The subfolder for each .NET Framework version is the following:
| .NET Framework version |
Subfolder |
| 1.0 |
v1.0.3705 |
| 1.1 |
v1.1.4322 |
| 2.0 |
v2.0.50727 |
| 3.0 |
v3.0 |
| 3.5 |
v3.5 |
| 4 |
v4.0.30319 |
| 4.5 |
v4.0.30319 (version 4.5 is an "in-place" upgrade of version 4) |
(*)
On Windows 64-bit the actual registry key (using regedit.exe) is
"HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\" rather than
"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\" but 32-bit processes are redirected
automatically to that actual registry key.
- .NET Framework 64-bit folder
You can get the actual
root installation folder of the .NET Framework 64-bit from a 64-bit
process
reading the registry key "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework",
"InstallRoot" value, which by default returns the result
"C:\Windows\Microsoft.NET\Framework64".
The subfolder for each .NET Framework version is the following:
| .NET Framework version |
Subfolder |
| 2.0 |
v2.0.50727 |
| 3.0 |
v3.0 |
| 3.5 |
v3.5 |
| 4 |
v4.0.30319 |
| 4.5 |
v4.0.30319 (version 4.5 is an "in-place" upgrade of version 4) |
- .NET Framework 32-bit SDK installation folder
You can get the actual installation folder of each .NET Framework
32-bit SDK version from a 32-bit process reading
the following registry key and value:
| .NET Framework SDK version |
Registry key (*) |
Value |
Default result for Windows 32-bit English (**) |
| 1.0 |
HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework |
sdkInstallRoot |
C:\Program Files\Microsoft Visual Studio .NET\FrameworkSDK\ |
| 1.1 |
HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework |
sdkInstallRootv1.1 |
C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\ |
| 2.0 |
HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework |
sdkInstallRootv2.0 |
C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\ |
| 2.0, 3.0, 3.5 |
HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SDKs\Windows\v7.0A\WinSDK-NetFx35Tools-x86 |
InstallationFolder |
C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bin\ |
| 4 |
HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SDKs\Windows\v7.0A\WinSDK-NetFx40Tools-x86 |
InstallationFolder |
C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\ |
| 4.5 |
HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SDKs\Windows\v8.0A\WinSDK-NetFx40Tools-x86 |
InstallationFolder |
C:\Program Files\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools\ |
(*)
On Windows 64-bit the actual registry key (using regedit.exe) is
"HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\" rather than
"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\" but 32-bit processes are redirected
automatically to that actual registry key.
(**) This folder is localized in other languages and for Windows 64-bit English is "C:\Program Files (x86)"
- .NET Framework 64-bit SDK installation folder
You can get the actual installation folder of each .NET Framework
64-bit SDK version from a 64-bit process reading
the following registry key and value:
| .NET Framework SDK version |
Registry key |
Value |
Default result for Windows 64-bit English (*) |
| 2.0, 3.0, 3.5 |
HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SDKs\Windows\v7.0A\WinSDK-NetFx35Tools-x64 |
InstallationFolder |
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\x64\ |
| 4 |
HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SDKs\Windows\v7.0A\WinSDK-NetFx40Tools-x64 |
InstallationFolder |
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\x64\ |
| 4.5 |
HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SDKs\Windows\v8.0A\WinSDK-NetFx40Tools-x64 |
InstallationFolder |
C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools\x64\ |
(*) The folder "Program Files (x86)" is localized in other languages.
Related articles
Go back to the 'Resources for Visual Studio .NET extensibility' section for more articles like this
|