我有一个应用程序应该从注册表中读取,并在执行控制台应用程序时,我的注册表访问完美工作。Visual Studio是否使用权限较低的进程运行测试?
然而,当我将它交给一个测试这个返回null
:
var masterKey = Registry.LocalMachine.OpenSubKey("path_to_my_key");
所以我的问题是:
是否Visual Studio中运行测试以较少特权的过程?
我测试过,看看这个用户给了我:var x = WindowsIdentity.GetCurrent().Name;
,它给了我和控制台应用程序中的一样。所以我在这里有点困惑。
我正在使用MS测试框架和机器是Windows 2003 64位。
为什么当我建立“任何CPU”,然后一个控制台应用程序它的工作原理? – 2010-05-07 10:50:55
@Filip,任何CPU *都是*问题,它以64位模式运行代码。您的测试以32位模式运行。可能有一个版本的mstest主机可以在64位模式下运行代码,但对此不甚了解。 – 2010-05-07 11:02:24
检查这篇博文:http://blogs.msdn.com/danielvl/archive/2009/03/28/run-mstest-exe-as-native-64-bit-process.aspx – 2010-05-07 11:04:39