我可以阅读注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\10.0
。
但是,它没有给我任何关于它的版本的信息 - 专业/终极或其他。
如何以编程方式(最好是python)获取信息?
答案 0 :(得分:27)
答案 1 :(得分:22)
在Visual Studio中,选项卡'帮助' - > '关于Microsoft Visual Studio'应该给你想要的信息。
答案 2 :(得分:6)
打开已安装的visual studio软件,然后单击帮助菜单,选择关于Microsoft Visual Studio - >获取visual studio版本
答案 3 :(得分:3)
如果某人需要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);
}
答案 4 :(得分:2)
它不是很微妙,但安装位置中有一个文件夹,其中包含已安装的版本名称。
例如,我有:
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专业 - ENU
您可以从上面列出的注册表项中找到安装位置。
或者,这将在许多地方的注册表中,例如:
HKEY_LOCAL_MACHINE \ SOFTWARE \微软\ VisualStudio的\ 9.0 \设置\微软 Visual Studio 2008标准版 - ENU
有很多带有字符串的值和键,您可以通过在Regedit>编辑>查找功能中查找“Microsoft Visual Studio 2010”来找到它们。
你只需要选择你想要的那个并做一些字符串匹配。
答案 5 :(得分:2)
对于任何绊倒这个问题的人来说,如果你正在做C ++,这就是答案: 您可以检查您的cpp代码中的vs版本,例如bellow示例,该示例基于vs版本为2015或更高版本链接到库:
#if (_MSC_VER > 1800)
#pragma comment (lib, "legacy_stdio_definitions.lib")
#endif
这是在链接时完成的,没有额外的运行时成本。
答案 6 :(得分:1)
通过运行以下命令可以获得VS产品版本。
"C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" -property catalog_productDisplayVersion
答案 7 :(得分:0)
此帖子中的所有信息现已与最新版本的vswhere过时。下载并使用它。
答案 8 :(得分:0)
在cmd中运行路径 C:\ Program Files(x86)\ Microsoft Visual Studio \ Installer> vswhere.exe
答案 9 :(得分:0)
将此代码放在您的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
。
答案 10 :(得分:0)
此问题的更新答案如下:
"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