繁体   English   中英

无法从NT4机器上的VB6应用程序创建.NET Framework 1.1组件

[英]Unable to create .NET Framework 1.1 Component from a VB6 app on an NT4 machine

尝试在NT4机器上运行.NET组件时遇到很多问题。 将安装Framework 1.1,并在同一框架下编译该组件。

该组件是由VB6应用程序调用的Web服务的代理。 不幸的是,VB6应用程序无法创建该组件的实例,并报告以下错误消息“ ActiveX组件无法创建对象”。

我编写了一个简单的.NET控制台测试应用程序,该应用程序创建了代理实例并调用GetStockQty。 在这种情况下,一切正常,调用成功,Web服务返回有效数量。

签名的代理组件具有以下COM属性:

[ComVisible(true)]
[Guid("D1576FA8-F3B1-4fa2-8018-677F6E483564")]
public interface IDataFeedProxy
{
    [DispId(1)]
    bool GetStockQty(string sku, out int quantity);
}

[ComVisible(true)]
[Guid("161A22E8-17C4-43f4-96A0-05FC439C7609"),
ClassInterface(ClassInterfaceType.None),
ComSourceInterfaces(typeof(IEvents))]
public class DataFeedProxy : IDataFeedProxy

它已使用以下方法在NT4机器上注册:

重排/ codebase DataFeedWebService.dll / TLB

这在XP机器上很好用,我在NT4上只有这些问题。 它显然与COM有关,但Im对可能的内容不知所措。


编辑

这是在VB6代码中完成的过程:

Dim oProxy As DataFeedWebService.DataFeedProxy
Set oProxy = New DataFeedWebService.DataFeedProxy
bRet = oProxy.GetStockQty(sPluCode, lQuantity)
Set oProxy = Nothing

Ive还尝试从VB6项目中删除引用,并以相同的结果在后期绑定它。

Dim oProxy As Object
Set oProxy = CreateObject("DataFeedWebService.DataFeedProxy")

您确定.net组件将在Windows nt4.0上运行。 我确实记得有可能,但是有很多操作不受支持。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM