宏在Visual Studio 2010中无法运行。

13

Visual Studio 2010 中的宏无法启动。它们在宏 IDE 的第一行中没有命中断点。没有错误消息。虽然可以记录宏,但是新记录的宏也无法启动。宏文件中没有错误,至少错误列表中没有显示错误。如果我有意添加错误,则该错误将显示在错误列表中。

当我启动宏时,光标会短暂地变化,但除此之外没有其他反应,在输出视图中也没有任何输出。看起来有一个设置或选项阻止宏运行,但我找不到这样的设置。我在另一台电脑上(同一网络)也遇到了同样的问题,因此可能是某个 Windows (7) 更新引起了问题。过去我经常使用宏而没有任何问题,并且最近也没有更改宏代码。

是否有人遇到了相同的问题?


3
据MS Connect报告,(同样适用于VS2008和Windows7),自2014年2月的Windows更新之后,Visual Studio 2010的宏停止工作。 - Max
谢谢Max提供这个信息,今天浪费了好几个小时... - Gerhard
1个回答

25

2014年2月11日,微软发布了公告MS14-009 - 重要。漏洞CVE2014-0257是修复列表中的一部分。它涉及使用反射升级权限,以执行通常对调用者不可访问的代码。解决方案的一部分包括禁用COM接口上的反射。这导致了一系列的补丁,适用于所有.NET Framework和Windows组合。您可以通过上面的链接查看列表。

微软发布了后续的补丁KB2934830,以解决通过Visual Studio运行宏时出现的问题。你需要以管理员身份编辑一个或多个以下文件:

VS2005:

C:\Program Files (x86)\Common Files\Microsoft Shared\VSA\8.0\VsaEnv\Vsmsvr.exe.config

VS2008:

C:\Program Files (x86)\Common Files\Microsoft Shared\VSA\9.0\VsaEnv\Vsmsvr.exe.config

VS2010:

C:\Program Files (x86)\Common Files\Microsoft Shared\VSA\9.0\VsaEnv\Vsmsvr10.exe.config

在 runtime 部分下添加此内容。假设 runtime 已经存在:

<AllowDComReflection enabled="true"/> 

这应该可以使宏按预期执行。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接