2010-09-15 7 views
16

Ich baute ein Makro heute in VS .. testen, wie ich ging, und es hat gut funktioniert. Ich fuhr fort, einen anderen zu bauen, aber versehentlich eingefügt in EnvironmentVariables Modul ... Ich entfernte es und speicherte, aber jetzt arbeiten keine Makros, die ich erstelle. Ich habe die eingebauten Samples wie das Einfügedatum ausprobiert, und es hat funktioniert, aber es funktioniert nichts.Visual Studio 2010 Makroproblem - Beenden Alles zusammen arbeiten

Danke, Ben

+0

ich das gleiche Problem habe, keine benutzerdefinierten Makros arbeiten - nur die Proben. Hast du das jemals gelöst? – BarrettJ

Antwort

10

hatte ich genau das gleiche Problem.

Es stellte sich heraus, dass dies durch einen Syntaxfehler in einem der Makros verursacht wurde.

+0

Ja, das würde es gut machen. Ich denke, Sie können davon ausgehen, dass das OP dies bereits überprüft hat. –

+0

"Ich auch" Ich hatte erwartet, dass die Makro-IDE den Fehler anzeigt. – EvilTeach

6

auf darzulegen, was @JZumwalt sagte, Visual Studio/die Makro-IDE verweigert jede Makro auszuführen, wenn es mit sogar ein Ihrer Makros ein Syntaxfehler ist.

Der einfachste Weg, dies zu verfolgen, ist, auf Projekt -> MyMacros Eigenschaften zu gehen. Aktivieren Sie auf der Registerkarte "Build" das Kontrollkästchen Option Strict On standardmäßig. Als nächstes blättern Sie durch jedes Ihrer Module/Klassen und suchen Sie nach den blauen Linien. Die große Mehrheit wird harmlos sein wie "Option Strict verbietet späte Bindung" und "Option Strict verbietet implizite Konvertierung von Foo nach Bar".

Aber während Sie durchblättern, sehen Sie jetzt den einzigen Syntaxfehler, der Sie daran hindert, Ihre Makros auszuführen.

0

Das ist mir passiert und das Problem war eine zusätzliche ENDE SUB am Ende des gesamten Moduls - nichts mit dem Makro zu tun, dachte ich, hatte Probleme überhaupt.

19

Ein Update hierzu: in Februar 2014 Microsoft veröffentlicht ein Update, das Makros in Visual Studio-Produkten brach. Nach dem Lesen des folgenden Links habe ich KB2898869 auf meinem Win 7 x64-Rechner deinstalliert und sie arbeiten wieder.

Siehe this link für die ganze Geschichte. Hier

ist ein bisschen von diesem Link:

installieren letzten 11. Februar 2014 Windows-Updates Visual Studio 2010 Makros Funktionalität bricht. Makros laufen einfach nicht mehr ohne eine Fehlermeldung. Genauer gesagt ist es MS14-009 Update "Sicherheitslücken in .NET Framework kann Erhöhung von Berechtigungen (2916607)" (als wichtig eingestuft) bricht Makros. Genauer gesagt ist es der Elevation of Privilege-Teil dieses Updates.

 
      .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 
+0

Oh, und ich dachte, den ganzen Tag Windows neu zu installieren war vergeblich. Ich muss nur diese KBs entfernen. – user1306322

+0

Verrückt, ich frage mich, ob/wenn sie ein Update für KB2898869 bereitstellen, das das Problem behebt. – John

+0

David deine Antwort ist genial. Vielen Dank. Diese Antwort muss akzeptiert werden. –

26

niemandes Donner zu stehlen, aber ich war nicht in der Lage Kommentare hinzufügen, da ich anscheinend einer Person von schlechten Ruf als mir, so dass ich nur diese Informationen als separate Antwort hinzuzufügen.

Die Seite, die in einer vorherigen (richtigen und sehr hilfreichen) Antwort von David Coster zitiert wurde, wurde seitdem aktualisiert, um die Tatsache widerzuspiegeln, dass es nicht länger notwendig ist, das anstößige Update zu deinstallieren.Makros können wieder aktiviert werden, indem einige Konfigurationsdateien ändern, wie unten beschrieben:

Update (18. Februar): Um Visual Studio 2010 Makros Funktionalität wiederherstellen, ohne Updates von Windows zu entfernen, können Sie die AllowDComReflection hinzufügen Konfigurationseinstellung vsmsvr10.exe.config, vsaenv10.exe.config und devenv.exe.config Dateien (beachten Sie, müssen Sie Ihren Editor mit Admin-Rechten für die korrekte Modifikation dieser Dateien auszuführen):

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

auf ein 64-Bit-Windows-Maschine Standardpfade für diese Dateien sind:

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

Jede dieser Dateien bereits den Laufzeitschnitt hat, man muss nur die Zeile.

Besuchen Sie die page cited für alle Details.

+2

Es gab ein weiteres Update auf dieser Seite am 25. Februar (http://visualstudioextensions.vlasovstudio.com/2014/02/13/visual-studio-2010-macros-stop-working-after-februar-2014-windows-update) /). Die vorgeschlagene Lösung für Visual Studio 2010 funktionierte für mich. – ConnorsFan