【问题标题】:Visual Studio 2010 Macro problem - Quit Working all togetherVisual Studio 2010 宏问题 - 一起退出工作
【发布时间】:2010-09-15 02:18:08
【问题描述】:

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

谢谢, 本

【问题讨论】:

  • 我遇到了同样的问题,没有自定义宏起作用 - 只有示例。你有没有解决过这个问题?

标签: visual-studio-2010 macros


【解决方案1】:

不是为了抢风头,但我无法添加 cmets,因为我显然被认为是一个臭名昭著的人,所以我将添加此信息作为单独的答案。

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

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

<configuration>
    <runtime>
        <AllowDComReflection enabled="true"/>

在 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"

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

请访问page cited 了解完整详情。

【讨论】:

【解决方案2】:

对此的更新:在 2014 年 2 月,Microsoft 发布了一个更新,该更新破坏了 Visual Studio 产品中的宏。阅读以下链接后,我在我的 Win 7 x64 机器上卸载了KB2898869,它们又可以正常工作了。

请参阅this link 了解全文。

以下是该链接的一些内容:

安装 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

【讨论】:

  • 哦,我还以为整天重新安装 Windows 是徒劳的。只需删除那些 KB。
  • 疯了,我想知道他们何时/是否会提供 KB2898869 的更新来解决问题。
  • 大卫你的回答太棒了。谢谢你。这个答案必须被接受。
  • 这为我们每个在 2 月 14 日面临的问题解释了这个问题。但是让人们知道它只是现在,OP 没有由更新引起的同样问题。较旧的答案在一般情况下仍然有效。
【解决方案3】:

我也遇到了同样的问题。

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

【讨论】:

  • 是的,这样就可以了。我想你可以假设 OP 已经检查过了。
【解决方案4】:

为了解释@JZumwalt 所说的内容,Visual Studio / 宏 IDE 拒绝运行 any 宏,即使您的 one 宏出现语法错误。

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

但是当您滚动浏览时,您现在会看到一个单独的语法错误,它会阻止您运行宏。

【讨论】:

    【解决方案5】:

    这发生在我身上,问题是整个模块底部有一个额外的 END SUB ——与我认为有问题的宏无关。

    【讨论】:

      【解决方案6】:
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-04
      • 1970-01-01
      相关资源
      最近更新 更多