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