C# 在WSH windows脚本中测试COM调用

C# 在WSH windows脚本中测试COM调用,c#,com,wsh,C#,Com,Wsh,我有一个工作的C#COM组件dll,在ap名称空间中有一个名为MyComponent的类,它被添加到GAC并成功注册。我给它添加了一个Advand(),用Win32 C++ exe对它进行了测试,并成功地调用了Addio()调用,因此它都工作了。 但是,我想在WSF(windows脚本)中测试调用,我将下面的代码放在一个名为test.WSF的文件中,当我运行代码时,我得到一个错误: 错误:无法连接行上的对象: 连接对象(appos,ap) 为什么它没有连接!救命啊 <?xml versio

我有一个工作的C#COM组件dll,在ap名称空间中有一个名为MyComponent的类,它被添加到GAC并成功注册。我给它添加了一个Advand(),用Win32 C++ exe对它进行了测试,并成功地调用了Addio()调用,因此它都工作了。 但是,我想在WSF(windows脚本)中测试调用,我将下面的代码放在一个名为test.WSF的文件中,当我运行代码时,我得到一个错误:

错误:无法连接行上的对象:
连接对象(appos,ap)

为什么它没有连接!救命啊

<?xml version="1.0" encoding="utf-8" ?>
<package xmlns="http://schemas.microsoft.com/WindowsScriptHost">
<job>
    <?job debug="true" ?> 
    <script language="JScript">
<![CDATA[       

// Create action provider
var appos = WScript.CreateObject ("ap.MyComponent");        
WScript.ConnectObject (appos, "ap_");

// Initialise voucher provider with store and terminal id strings
appos.Add(1,99);


// Release object
appos = null;

  WScript.StdIn.Read(1);
]]>
    </script>
 </job>
</package>

来自MSDN:

将对象的事件源连接到具有给定前缀的函数


此方法注册回调。如果没有回调,则不需要调用此方法。

对不起,我的回答不够精确

WScript.ConnectObject (appos, "ap_");
此方法用于将脚本附加到COM对象事件。您没有事件,因此不需要调用该方法

从MSDN:

将对象的事件源连接到具有给定前缀的函数

这就足够了:

// Create action provider
var appos = WScript.CreateObject ("ap.MyComponent");        

// Initialise voucher provider with store and terminal id strings
appos.Add(1,99);
我只是在前缀中添加了一个随机字符串“ap_3;”;这需要什么特别的东西吗?它似乎在这两行出现了问题:
var appos=WScript.CreateObject(“ap.MyComponent”);WScript.ConnectObject(appos,“ap”)我没有任何事件,只有一个名称空间(ap)和一个名为MyComponent的类,它实现了一个接口。