Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将RDP构建成C#应用程序_C#_Rdp - Fatal编程技术网

将RDP构建成C#应用程序

将RDP构建成C#应用程序,c#,rdp,C#,Rdp,我目前正在尝试将RDP构建到我制作的应用程序中。我们经常需要定期连接到许多服务器,并且希望我们的员工不再需要了解所有服务器的详细信息 我目前正在尝试使用以下示例: 当使用上述方法时,我收到以下错误: 正在检索具有CLSID的组件的COM类工厂 {791FA017-2DE3-492E-ACC5-53C67A2B94D0}由于以下原因失败 错误:80040154类未注册(HRESULT异常: 0x80040154(REGDB_E_CLASSNOTREG)) 根据该代码: MsRdpClient rd

我目前正在尝试将RDP构建到我制作的应用程序中。我们经常需要定期连接到许多服务器,并且希望我们的员工不再需要了解所有服务器的详细信息

我目前正在尝试使用以下示例:

当使用上述方法时,我收到以下错误:

正在检索具有CLSID的组件的COM类工厂 {791FA017-2DE3-492E-ACC5-53C67A2B94D0}由于以下原因失败 错误:80040154类未注册(HRESULT异常: 0x80040154(REGDB_E_CLASSNOTREG))

根据该代码:

MsRdpClient rdp1;
rdp1 = new MSTSCLib.MsRdpClient();

非常感谢您的帮助。

将您的Visual Studio项目设置为x86版本

项目属性->构建选项卡->平台目标->x86


如果没有帮助,请尝试通过注册com dll。

正如我所评论的,根据您的操作系统,您需要一个不同的com组件

您引用的是特定于XP的。查看以下页面,了解不同操作系统的所有CLSID:


例如,对于windows 7,您需要
{A9D7038D-B5ED-472E-9C47-94BEA90A5910}
,如果您通过注册表(HKEY_CLASS_ROOT\CLSID)进行搜索,它由
C:\windows\System32\mstscax.dll

您缺少的COM组件提供。可能您使用的系统与他的(XP)不同,自Vista以来,RDP已升级,COM注册不同。如果您直接使用他的二进制文件,它将无法在您的注册表中找到COM注册。您需要使用在计算机上注册的COM组件。我发现需要将MsRdpClient添加到工具箱(工具箱>右键单击>选择项)。然后,我不得不将组件拖到表单上,而不是以编程方式添加它。这是现在的工作。谢谢你们的努力,伙计们!为x86编译不会提供特定于操作系统的COM注册。但它确实允许您访问x64中提供的x86 COM组件…@nsr81如果OP使用了“添加引用”对话框-CLSID必须正常。在其他情况下,CLSID与更高版本的系统兼容。