是否可以在c#中获取Visual Studio帐户信息?
我想获取当前登录到VisualStudio的用户的电子邮件地址,当然是在调试模式下。就像使用Environment.UserName获取windows帐户名一样是否可以在c#中获取Visual Studio帐户信息?,c#,.net,visual-studio,C#,.net,Visual Studio,我想获取当前登录到VisualStudio的用户的电子邮件地址,当然是在调试模式下。就像使用Environment.UserName获取windows帐户名一样 这可能吗?我决不会将VisualStudio用户名用于授权系统。VS用户的名称存储在一个简单的注册表项中,可以很容易地进行操作 您可以使用以下代码检索最多14个Visual Studio版本(Visual Studio 2015)的用户名/帐户信息。Visual Studio 2017具有不同的注册表路径。阅读更多关于它的信息 cons
这可能吗?我决不会将VisualStudio用户名用于授权系统。VS用户的名称存储在一个简单的注册表项中,可以很容易地进行操作 您可以使用以下代码检索最多14个Visual Studio版本(Visual Studio 2015)的用户名/帐户信息。Visual Studio 2017具有不同的注册表路径。阅读更多关于它的信息
const byte minVSVersion=11;//Visual Studio 2012
常量字节maxVSVersion=14;//Visual Studio 2015
静态列表getVSUsers()
{
var vsUsrs=新列表();
for(byte version=minVSVersion;version usr!=null).ToList();
}
遗憾的是,无法准确确定用户用于编译程序的VisualStudio版本。为什么要这样做?从哪里开始?从VisualStudio扩展是合理的。从任何碰巧由VS调试的任意程序中——这将跨越从调试对象到调试器的进程边界,并可能导致死锁,除了潜在的滥用问题之外。
const byte minVSVersion=11; // Visual Studio 2012
const byte maxVSVersion=14; // Visual Studio 2015
static List<string> getVSUsers()
{
var vsUsrs=new List<string>();
for(byte version=minVSVersion; version<=maxVSVersion; version++)
vsUsrs.Add((string)Registry.GetValue(
@"HKEY_USERS\.DEFAULT\Software\Microsoft\VisualStudio\"+version+@".0_Config\Registration",
"UserName", null));
return vsUsrs.Where(usr => usr!=null).ToList();
}