Visual studio 2010 在VS2010宏中设置文本时,操作中止(HRESULT:0x80004004 E_ABORT异常)

Visual studio 2010 在VS2010宏中设置文本时,操作中止(HRESULT:0x80004004 E_ABORT异常),visual-studio-2010,visual-studio-macros,Visual Studio 2010,Visual Studio Macros,在VS2010中,一些非常简单的宏不适用于我。例如,如果我这样做: DTE.ActiveDocument.Selection.Text = "123" 这将很好,但如果我改为键入 DTE.ActiveDocument.Selection.Text = "//123" 然后,我在标题中包含了一条丑陋的中止消息,结果失败了。这是我在C++源编辑器窗口中运行的时候。存在各种各样的符号字符,它们都会导致将文本分配给“Selection.text”的操作以这种方式失败。这在VS2008

在VS2010中,一些非常简单的宏不适用于我。例如,如果我这样做:

    DTE.ActiveDocument.Selection.Text = "123"
这将很好,但如果我改为键入

    DTE.ActiveDocument.Selection.Text = "//123"
然后,我在标题中包含了一条丑陋的中止消息,结果失败了。这是我在C++源编辑器窗口中运行的时候。存在各种各样的符号字符,它们都会导致将文本分配给“Selection.text”的操作以这种方式失败。这在VS2008中没有问题

但是在网络上似乎什么都没有,所以我想这一定是我的设置有问题。我知道通过创建一个编辑点,然后使用“插入”方法可以绕过这个问题,但有时我不能在不先编辑的情况下录制并运行临时宏,这让人感到恼火

我想知道:

a) 是否有其他人经历过这种情况

b) 是否有人知道解决方案,或者如何找到解决方案

我的外接程序是: 代码合作者, 调试器, VSBuildStatus- 虽然我很确定在添加这些之前存在问题

我的分机是: AnkhSVN, 命令图像, 生产力动力工具, 视觉辅助X, Visual Studio颜色主题编辑器- 再一次,就我所记得的,这个问题发生在安装这些扩展之前


我正在64位Windows 7上运行VS2010。

我知道这不是您想要的答案,但只是为了防止有人需要解决问题:

DTE.ActiveDocument.Selection().TopPoint.CreateEditPoint().Insert("//123")

我从今天开始使用宏,这些宏一直工作得很好(我广泛使用)。我不知道为什么会这样。也许是因为Windows更新

[更新]


克里斯托弗·奥兹贝克(Christopher Oezbek)的修复程序也能解决这个问题。

谢谢克里斯托弗,是的,这个代码片段可能会帮助其他人。这就是我一直在做的。那么你也会遇到同样的问题吗?是的,MSVC 2010的同事的电脑上也会出现这种情况。。。扩展:视觉辅助,Ankhsvn我们只是推测这是VAX的自动完成。。。但是禁用VisualASist并没有帮助。当我完全关闭intellisense和浏览数据库时(因为它崩溃了),同样的事情也开始了。谢谢你的解决办法。