我正在尝试使用Visual Studio 2005 中的ATL 简单对象向导在我的 DLL 中创建一个新的 COM 对象。
我输入对象的短名称,并派生所有其他字段。
但是,当我在向导中单击下一步时,出现以下错误消息:
Object 'IXxxInterfaceName' already exists
我在整个解决方案中搜索了对 IXxxInterfaceName 的所有引用,但在任何地方都看不到它的定义。
向导如何确定它已经存在?
我正在尝试使用Visual Studio 2005 中的ATL 简单对象向导在我的 DLL 中创建一个新的 COM 对象。
我输入对象的短名称,并派生所有其他字段。
但是,当我在向导中单击下一步时,出现以下错误消息:
Object 'IXxxInterfaceName' already exists
我在整个解决方案中搜索了对 IXxxInterfaceName 的所有引用,但在任何地方都看不到它的定义。
向导如何确定它已经存在?
我从来没有发现为什么向导确定对象名称已经存在 - 我猜某些东西被缓存在我无法追踪的地方。
最后,我在创建它时在接口名称的末尾附加了一个 2 以允许添加它。然后我用 IXxxInterfaceName 替换了所有出现的 IXxxInterfaceName2。在此之后一切正常。
如果我找到了这个问题的根本原因,我会更新答案。
它是否在您引用的库中定义?
也发生在 VS 2008 中。但是,Clean solution 和 Clean project from build option 解决了这个问题:-)