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

Макросы не запускаются в Visual Studio 2010

Макросы в Visual Studio 2010 не могут быть запущены больше. Они не попадают в точку останова в своей первой строке в макрос IDE. Сообщение об ошибке отсутствует. Макросы все еще могут быть записаны, код показан в макрос IDE, но не могут быть запущены вновь записанные макросы. В файлах макросов нет ошибок, по крайней мере, в списке ошибок не отображается ошибка. Если я намеренно добавляю ошибку, ошибка отображается в списке ошибок.

При запуске макроса происходит короткое изменение курсора, но ничего больше не происходит, и на выходном представлении нет выхода. Похоже, есть параметр или параметр, который предотвращает запуск макросов, но я не могу найти такой настройки. Я испытываю ту же проблему на втором компьютере (в той же сети), поэтому, возможно, некоторое обновление Windows (7) вызвало эту проблему. Я часто использовал макросы в прошлом без каких-либо проблем и не изменял недавно код макросов.

Кто-нибудь испытывает ту же проблему?

4b9b3361

Ответ 1

В 2014-02-11 Microsoft выпустила бюллетень MS14-009 - Важно. Уязвимость CVE2014-0257 входит в список исправлений. Это относится к повышению привилегий посредством использования отражения для выполнения кода, обычно недоступного для вызывающего. Часть решения включает отключение отражения через интерфейсы COM. Это привело к созданию семейства исправлений для всех комбинаций .NET Framework и Windows. Вы можете просмотреть список по ссылке выше.

Microsoft выпустила следующий 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

Добавьте это в раздел времени выполнения. время выполнения должно быть уже:

<AllowDComReflection enabled="true"/> 

Это означает, что макросы выполняются так, как ожидалось.