Visual Studio 2010宏问题 - 退出一起工作

Ben*_* S. 16 macros visual-studio-2010

我今天在VS中构建了一个宏.测试时我去了,它运行得很好.我继续构建另一个,但不小心将其粘贴到EnvironmentVariables模块中......我将其删除并保存,但现在没有我创建工作的宏.我尝试了内置的示例,例如插入日期,并且它有效,但没有任何自定义工作.

谢谢,本

小智 26

不是为了窃取任何人的雷声,但我无法添加评论,因为我显然被认为是一个声名狼借的人,所以我只是将这些信息作为一个单独的答案添加.

David Coster先前(正确且非常有帮助)的回答中引用的页面已经更新,以反映不再需要卸载违规更新的事实.可以通过更改某些配置文件来重新启用宏,如下所述:

更新(2月18日):要在不删除Windows更新的情况下还原Visual Studio 2010宏功能,可以将AllowDComReflection配置设置添加 到vsmsvr10.exe.config,vsaenv10.exe.configdevenv.exe.config文件中(注意,您需要使用管理员权限运行您的编辑器以正确修改这些文件):

<configuration>
    <runtime>
        <AllowDComReflection enabled="true"/>
Run Code Online (Sandbox Code Playgroud)

在64位Windows机器上,这些文件的默认路径是:

"C:\Program Files (x86)\Common Files\Microsoft Shared\VSA\9.0\VsaEnv\vsmsvr10.exe.config"
"C:\Program Files (x86)\Common Files\Microsoft Shared\VSA\9.0\VsaEnv\vsaenv10.exe.config"
"C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe.config"
Run Code Online (Sandbox Code Playgroud)

这些文件中的每一个都有运行时部分,您只需要添加该行.

访问引用页面了解详细信息.

  • 2月25日该页面上又有一次更新(http://visualstudioextensions.vlasovstudio.com/2014/02/13/visual-studio-2010-macros-stop-working-after-february-2014-windows-update/ ).Visual Studio 2010的建议解决方案适合我. (2认同)

Dav*_*ter 19

对此的更新:20142月, Microsoft发布了一个破坏Visual Studio产品宏的更新.在阅读以下链接后,我KB2898869在Win 7 x64机器上卸载了它们,然后它们再次运行.

有关完整故事,请参阅此链接.

这里有一点来自该链接:

安装最近的2014年2月11日Windows更新会破坏Visual Studio 2010宏功能.如果没有错误消息,宏就不会再运行了.更具体地说,它是MS14-009更新".NET Framework中的漏洞可能允许特权提升(2916607)"(评级为重要)中断宏.更具体地说,它是此更新中的提升权限部分.

            .NET 4.5.1  .NET 4.5    .NET 4
Windows 8.1 KB2898871       
Windows 8   KB2898870   KB2898865   
Windows 7   KB2898869   KB2898864   KB2898855
Windows XP              KB2898855


小智 11

我有同样的问题.

原来是由其中一个宏的语法错误引起的.


Dan*_*his 7

为了阐明在什么@JZumwalt说,Visual Studio中/宏IDE拒绝执行任何宏,如果没有就算了,语法错误,一个你的宏.

跟踪此问题的最简单方法是转到Project - > MyMacros Properties.在构建选项卡上,选中默认情况下标记为Option Strict On的框.接下来,滚动浏览每个模块/类并查找蓝色波浪线.绝大多数将是无害的,如"Option Strict禁止后期绑定"和"Option Strict禁止从Foo到Bar的隐式转换".

但是当您滚动浏览时,您将看到一个单独的语法错误,阻止您运行宏.