Проблема с макросом Visual Studio 2010 - прекращение совместной работы - PullRequest
16 голосов
/ 15 сентября 2010

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

Спасибо, Ben

Ответы [ 6 ]

26 голосов
/ 18 февраля 2014

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

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

Обновление (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"

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

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

19 голосов
/ 17 февраля 2014

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

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

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

Установка последних обновлений Windows от 11 февраля 2014 г. нарушает функциональность макросов 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 голосов
/ 06 февраля 2011

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

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

7 голосов
/ 23 февраля 2012

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

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

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

0 голосов
/ 22 мая 2014

Выпущено исправление Microsoft Visual Studio для восстановления функциональности макроса:

http://www.microsoft.com/en-us/download/confirmation.aspx?id=42541 http://visualstudioextensions.vlasovstudio.com/2014/02/13/visual-studio-2010-macros-stop-working-after-february-2014-windows-update/

0 голосов
/ 02 ноября 2012

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...