Подтвердить что ты не робот

Проблема с макросом Visual Studio 2010 - выйти

Я построил макрос сегодня в VS.. тестирование, когда я пошел, и он отлично поработал. Я приступил к созданию другого, но случайно вставил его в модуль EnvironmentVariables... Я удалил его и сохранил, но теперь нет макросов, которые я создаю. Я попробовал встроенные образцы, такие как дата вставки, и это сработало, но ничего не работает.

Спасибо, Бен

4b9b3361

Ответ 1

Не украсть никого гром, но я не смог добавить комментарии, так как я, по-видимому, считаюсь человеком с плохой репутацией, поэтому я просто добавлю эту информацию в качестве отдельного ответа.

Страница, приведенная в предыдущем (правильном и очень полезном) ответе Дэвида Костера, с тех пор была обновлена, чтобы отразить тот факт, что больше не нужно удалять оскорбительное обновление. Макросы можно повторно включить, изменив некоторые файлы конфигурации, как описано ниже:

Обновление (18 февраля). Чтобы восстановить макросы Visual Studio 2010 без удаления обновлений Windows, вы можете добавить AllowDComReflection - vsmsvr10.exe.config, vsaenv10.exe.config и файлы devenv.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"

В каждом из этих файлов уже есть раздел времени выполнения, вам просто нужно добавьте строку.

Посетите страницу указанную для получения полной информации.

Ответ 2

Обновление по этому вопросу: в Февраль 2014 Корпорация Майкрософт выпустила обновление, которое нарушило макросы в продуктах Visual Studio. Прочитав следующую ссылку, я удалил KB2898869 на моем компьютере с Win 7 x64, и они снова работают.

См. эту ссылку для полной истории.

Вот немного от этой ссылки:

Установка последних 11 февраля 2014 г. Обновления 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

Ответ 3

У меня была такая же проблема.

Выключено, вызванное синтаксической ошибкой в ​​одном из макросов.

Ответ 4

Чтобы изложить то, что @JZumwalt сказал, Visual Studio/макрос IDE отказывается запускать макрос any, если есть синтаксическая ошибка с четным одним вашим макросом.

Самый простой способ отслеживать это - перейти к Project → MyMacros Properties. На вкладке сборки установите флажок Option Strict On по умолчанию. Затем прокрутите каждый из ваших модулей/классов и найдите синие squiggly линии. Подавляющее большинство будет безвредным, как "Option Strict disallows late binding" и "Option Strict запрещает неявное преобразование из Foo в Bar".

Но в качестве прокрутки вы увидите синтаксическую ошибку, которая не позволяет запускать ваши макросы.

Ответ 5

Это случилось со мной, и проблема была дополнительным END SUB в нижней части всего модуля - ничего общего с макросом, который, как я думал, имел проблемы вообще.