2014-01-10 244 views
1

我是使用C#的.NET开发人员。我试图连接到QC版本11服务器(64位),但是当我调用.InitConnectionEx方法时,它抛出一个异常(未注册的类(从HRESULT异常:0x80040154(REGDB_E_CLASSNOTREG))))。我在我的开发机器上安装了QC客户端11。我的开发机器也是64位(Windows 7/2008)。它看起来像一些QC DLL没有得到注册在本地机器上的客户端安装。我写了下面的C#代码进行连接,但我收到第2行的问题。无法连接到QC服务器

TDConnection tdConnect = new TDConnection(); 
tdConnect.InitConnectionEx("http://192.168.1.10:8181/qcbin/"); 
tdConnect.ConnectProjectEx("DEFAULT", "Test", "admin", "admin"); 

请帮我找出解决方案的优先级。

回答

0

您是否正在使用提升的权限运行您的应用程序?它可能是应用程序无法访问适当的底层COM对象的.NET包装试图访问...

+0

不,如果我连接相同的QC服务器(64位)从32位客户端机器(开发机器)那么就没有这样的问题。当我在64位机器上运行我的应用程序时,我遇到了这个问题。 – user2478625

+2

这很可能是由于COM组件未被写入64位而导致的。我可能会建议强制您的应用程序作为32位应用程序运行,即使在部署到64位计算机时也是如此。 VisualStudio中有一个设置可以在您构建时完成此任务。 – Jason

0

尝试安装QC连接添加,我相信它正确注册所有组件,并修复此错误为了我。

11.52和其他可能的版本:从QC Explorer中>帮助> ALM工具> HP ALM连接

QC 11:https://almpc.sqa.its.state.nc.us/qcbin/TDConnectivity_index.html

*如果质量中心服务器打补丁,您可能必须登录到QC,然后将所有文件从您的appdata/local \ HP \ ALM-Client \ alm文件夹复制到C:\ ProgramData \ HP \ ALM-Client \ alm