为啥 Visual Studio 2010 (Intellisense) 会停止生成接口指针?
Posted
技术标签:
【中文标题】为啥 Visual Studio 2010 (Intellisense) 会停止生成接口指针?【英文标题】:Why would Visual Studio 2010 (Intellisense) stop generating an interface pointer?为什么 Visual Studio 2010 (Intellisense) 会停止生成接口指针? 【发布时间】:2015-03-10 01:09:24 【问题描述】:我的工作代码实现了包装器和接口,如下所示:
public class wrapper : wrapperInterface
...
Intellisense 正在生成一个 wrapperInterfacePtr,因此在 C++ 标头中我有一个有效的声明:
wrapper::wrapperInterfacePtr m_wrapper;
我一直在尝试添加一些委托功能,以便可以将 C++ 回调传递给 C#(我失败了),并且在自动生成的 wrapperInterfacePtr 周围的某个时间点变得未定义。即使在我将所有代码返回(看起来)为其原始状态之后,Intellisense 也不会生成 wrapperInterfacePtr。
对我可以做些什么或如何启动 Intellisense 有什么想法?
【问题讨论】:
"您是否尝试将其关闭再打开?"不完全是。尝试重启 VS 看看是否还有问题。wrapperInterfacePtr
只是 typedef wrapperInterface* wrapperInterfacePtr
吗?它是在哪里生成的?
@Donnelle 不幸的是,今天早上重新启动并没有重置任何内容。我也充满希望!
@Dai 我似乎记得它是一个 typedef,但不是那么简单。例如,当我选择仍然存在的自动生成元素之一“_wrapperInterface”(注意下划线)时,鼠标悬停将元素显示为“typedef _com_ptr_t好的,我让它再次工作。我无法给出失败的确切原因,但我有一个想法。新的 C# 托管代码位于现有 C++ 非托管代码的庞大库之上。我使用 VS 构建托管代码,然后使用内部工具构建其他所有内容。内部构建工具不会做干净,除非你真的,真的强迫这个问题。 (这需要几天时间。)当我对与托管代码接口的 dll 进行构建清理时,问题就解决了。
【讨论】:
很高兴你把它整理好了。这类事情可能会令人沮丧!以上是关于为啥 Visual Studio 2010 (Intellisense) 会停止生成接口指针?的主要内容,如果未能解决你的问题,请参考以下文章
为啥我的visual stdio 2010连错误程序也能编译成功。。。。
为啥以下无法在 Visual Studio 2010 C++ 下编译?
为啥 Visual Studio 2010 在 VMware 中出现渲染问题?
为啥 Visual Studio 2010 不“解包”系统变量?