代码之家  ›  专栏  ›  技术社区  ›  Developer Webs

使用System.Collections.ArrayList从VB6中的.NET

  •  -1
  • Developer Webs  · 技术社区  · 7 年前

    在我的开发机器和客户环境中,我们有一个Visual Basic 6二进制文件来执行以下操作:

    dim x as object
    set x = CreateObject("System.Collections.ArrayList")
    

    ... 它按预期工作(我们可以向它添加项目,获取计数等)。

    最近,我们安装了一台新的WindowsServer2012 R2机器(它将.NET4.X作为操作系统的一部分)。当我试图在这台计算机上运行相同的VB6二进制文件时,上面的行得到错误:

    “自动化错误”

    dim x as New ArrayList
    x.Add("test")
    x.Count ' 1
    

    …但在2012服务器上仍然出现自动化错误。

    是否可能运行二进制文件(LocalSystem)的用户没有使用DLL的权限?我还尝试使用我在本地计算机上使用的同一个域用户运行二进制文件。

    1 回复  |  直到 7 年前
        1
  •  0
  •   Developer Webs    7 年前

    似乎.NET4.X是与Windows一起安装的。这位IT人员使用“添加/删除Windows功能”UI来安装.NET 2.x和3.x。我以前曾试图用Microsoft web installer安装它们,但失败了。安装了.NET2.x和3.x后,VB6可执行文件现在可以正确地实例化System.Collections.ArrayList库和工作没有错误。我怀疑x.COM没有提供接口。