无法创建 AutConnList 的实例
Cannot create instance of AutConnList
我有以下(非常简单的)程序:
static void Main(string[] args)
{
// The program has 'using AutConnListTypeLibrary' in the header
AutConnList connections = new AutConnList();
connections.Refresh();
Debug.Print(connections.Count.ToString());
}
它应该连接到所有打开的 PCOMM 会话,以及 return 打开的会话数(只是为了开始做某事)。但是,当我 运行 程序时,我在第一行代码中得到以下 运行 时间错误:
Unable to cast COM object of type 'System.__ComObject' to interface
type 'AutConnListTypeLibrary.AutConnList'. This operation failed
because the QueryInterface call on the COM component for the interface
with IID '{3CB39CC1-6F18-11D0-910D-0004AC3617E1}' failed due to the
following error: No such interface supported (Exception from HRESULT:
0x80004002 (E_NOINTERFACE)).
我的项目中添加了以下引用(默认引用除外):
我是否缺少参考资料?还是我的代码有问题?如前所述,这是一个 运行 时间错误。代码编译得很好。
事实证明,这个问题有一个非常简单的解决方案(尽管理解起来不是很简单)。只需将 [STAThread]
属性添加到 Main()
方法。我原来的代码 post 应该是这样的:
[STAThread]
static void Main(string[] args)
{
// The program has 'using AutConnListTypeLibrary' in the header
AutConnList connections = new AutConnList();
connections.Refresh();
Debug.Print(connections.Count.ToString());
}
我有以下(非常简单的)程序:
static void Main(string[] args)
{
// The program has 'using AutConnListTypeLibrary' in the header
AutConnList connections = new AutConnList();
connections.Refresh();
Debug.Print(connections.Count.ToString());
}
它应该连接到所有打开的 PCOMM 会话,以及 return 打开的会话数(只是为了开始做某事)。但是,当我 运行 程序时,我在第一行代码中得到以下 运行 时间错误:
Unable to cast COM object of type 'System.__ComObject' to interface type 'AutConnListTypeLibrary.AutConnList'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{3CB39CC1-6F18-11D0-910D-0004AC3617E1}' failed due to the following error: No such interface supported (Exception from HRESULT: 0x80004002 (E_NOINTERFACE)).
我的项目中添加了以下引用(默认引用除外):
我是否缺少参考资料?还是我的代码有问题?如前所述,这是一个 运行 时间错误。代码编译得很好。
事实证明,这个问题有一个非常简单的解决方案(尽管理解起来不是很简单)。只需将 [STAThread]
属性添加到 Main()
方法。我原来的代码 post 应该是这样的:
[STAThread]
static void Main(string[] args)
{
// The program has 'using AutConnListTypeLibrary' in the header
AutConnList connections = new AutConnList();
connections.Refresh();
Debug.Print(connections.Count.ToString());
}