【发布时间】:2011-07-02 15:24:52
【问题描述】:
我可以读取注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\10.0。
但是,它没有给我任何关于它的版本的信息——专业/终极或其他。
如何以编程方式(最好是 python)获取信息?
【问题讨论】:
我可以读取注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\10.0。
但是,它没有给我任何关于它的版本的信息——专业/终极或其他。
如何以编程方式(最好是 python)获取信息?
【问题讨论】:
在 Visual Studio 中,选项卡“帮助”->“关于 Microsoft Visual Studio”应该会为您提供所需的信息。
【讨论】:
它不是很微妙,但是安装位置中有一个文件夹,其中包含已安装的版本名称。
例如我有:
C:\Program Files\Microsoft Visual Studio 9.0\Microsoft Visual Studio 2008 标准版-ENU
和
C:\Program Files\Microsoft Visual Studio 10.0\Microsoft Visual Studio 2010 专业 - 英语
您可以从上面列出的注册表项中找到安装位置。
或者,这将在许多地方的注册表中,例如:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\Setup\Microsoft Visual Studio 2008 标准版-ENU
里面有很多值和键,你可以在Regedit>Edit>Find函数中查找“Microsoft Visual Studio 2010”来找到它们。
您只需要选择您想要的并进行一些字符串匹配。
【讨论】:
如果有人需要 C# 示例,那么:
var registry = Registry.ClassesRoot;
var subKeyNames = registry.GetSubKeyNames();
var regex = new Regex(@"^VisualStudio\.edmx\.(\d+)\.(\d+)$");
foreach (var subKeyName in subKeyNames)
{
var match = regex.Match(subKeyName);
if (match.Success)
Console.WriteLine("V" + match.Groups[1].Value + "." + match.Groups[2].Value);
}
【讨论】:
打开已安装的visual studio软件,点击帮助菜单选择About Microsoft Visual studio-->Get the visual studio Version
【讨论】:
对于遇到此问题的任何人,如果您正在使用 C++,以下是答案: 您可以检查您的 vs 版本的 cpp 代码,如下例所示,该示例链接到基于 vs 版本为 2015 或更高版本的库:
#if (_MSC_VER > 1800)
#pragma comment (lib, "legacy_stdio_definitions.lib")
#endif
这是在链接时完成的,没有额外的运行时成本。
【讨论】:
此线程中的所有信息现在与最近发布的vswhere 已过时。下载并使用它。
【讨论】:
在cmd中运行路径 C:\Program Files (x86)\Microsoft Visual Studio\Installer>vswhere.exe
【讨论】:
将此代码放在您的 C++ 项目中的某个位置:
#ifdef _DEBUG
TCHAR version[50];
sprintf(&version[0], "Version = %d", _MSC_VER);
MessageBox(NULL, (LPCTSTR)szMsg, "Visual Studio", MB_OK | MB_ICONINFORMATION);
#endif
请注意,_MSC_VER 符号是 Microsoft 特定的。 Here you can find a list 的 Visual Studio 版本,每个版本的值为 _MSC_VER。
【讨论】:
这个问题的更新答案如下:
"C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" -latest -property productId
解决到 2019
"C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" -latest -property catalog_productLineVersion
解析为Microsoft.VisualStudio.Product.Professional
【讨论】:
您可以通过运行以下命令获取VS产品版本。
"C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" -property catalog_productDisplayVersion
【讨论】: