从32位应用程序读取64位注册表我有为AnyCPU编译的ac#单元测试项目。我们的构建服务器是64位机器,并安装了64位SQL Express实例。测试项目使用类似于以下内容的代码来标识.MDF文件的路径: private string GetExpressPath()
{
RegistryKey sqlServerKey = Registry.LocalMachine.OpenSubKey( @"SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL" );
string sqlExpressKeyName = (string) sqlServerKey.GetValue( "SQLEXPRESS" );
RegistryKey sqlInstanceSetupKey = sqlServerKey.OpenSubKey( sqlExpressKeyName + @"\Setup" );
return sqlInstanceSetupKey.GetValue( "SQLDataRoot" ).ToString();
}这段代码在我们的32位工作站上工作正常,并且在我最近使用NCover启用代码覆盖率分析之前,在构建服务器上工作正常。因为NCover使用32位COM组件,所以测试运行器(Gallio)作为32位进程运行。检查注册表,下面没有“实例名称”键HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Microsoft SQL Server在32位模式下运行的应用程序是否有办法访问Wow6432Node外部的注册表?
3 回答
- 3 回答
- 0 关注
- 772 浏览
添加回答
举报
0/150
提交
取消