AutoCAD-Add-Ins mit Visual Studio 2010 debuggen: So beheben Sie Breakpoint-Probleme

Ein bestehendes Projekt zu unserer VS 2010-Solution hinzufügen

Diese Frage taucht seit dem Launch von Visual Studio 2010 mehrmals auf. Ich habe sie gestern Nacht per E-Mail von Roland Cox erhalten – interessant, da ich diesen Beitrag bereits für heute geplant hatte.

Wissen Sie, wie man AutoCAD und ein benutzerdefiniertes Add-In mit Visual Studio 2010 debuggt?

Welche Einstellungen muss ich vornehmen? Ich weiß, dass das Add-In geladen wird (der Code läuft in AutoCAD), aber ich kann keinen Breakpoint setzen (es erscheint ein leerer Kreis, der anzeigt, dass VS die Assembly nicht geladen hat).

Dieses Problem wurde bereits mehrmals in Foren bei Microsoft diskutiert, sowohl bezüglich AutoCAD als auch Revit. Jeremy hat ebenfalls einen Beitrag in seinem Blog dazu veröffentlicht.

Adam Nagy aus unserem DevTech-Team in Europa hat diese ausgezeichnete DevNote auf der ADN-Website erstellt, die verschiedene Optionen zur Lösung dieses Problems abdeckt. Ich habe diese als Basis für die Details in diesem Beitrag verwendet. (Danke, Adam! 🙂)

Das Problem ist keineswegs spezifisch für Autodesk-Produkte, obwohl – wie die obigen Threads zeigen – unsere Produkte als häufig genutzte .NET-Plugin-Hosts zu den gängigsten Umgebungen gehören, in denen Nutzer auf dieses Issue stoßen.

Die Ursache liegt darin, dass Visual Studio 2010 nicht die richtige Debugger-Version für Class-Library-Projekte wählt, die ältere .NET-Framework-Versionen targeten: Es verwendet immer die Standardversion, den Debugger für .NET Framework v4. Dieser Debugger erkennt keine Breakpoints in Projekten, die auf älteren .NET-Versionen basieren.

Adam hat drei Workarounds hervorgehoben, die verschiedene Wege zeigen, um Visual Studio 2010 den korrekten Debugger (der Breakpoints tatsächlich trifft) für diese Projekte zu lassen. Welche Lösung am besten für Sie passt, hängt von Ihrem Szenario ab (ich würde Option 2 oder 3 bevorzugen).

Weiterlesen >>  Lexware Kassenbuch 2023: Datenmigration und Lizenz-Hürden meistern

Lösung 1

Starten Sie die EXE, die Ihr Add-In lädt (acad.exe, revit.exe usw.) und hängen Sie sich dann von Visual Studio daran (Debuggen → An Prozess anhängen…).

Lösung 2

Ändern Sie die Konfigurationsdatei der EXE, die Ihr Add-In lädt (acad.exe.config, revit.exe.config usw.), sodass sie direkt vor dem </configuration>-Abschnitt Folgendes enthält:

<startup>
  <supportedRuntime version="v2.0.50727" />
</startup>

Lösung 3

Fügen Sie die EXE, die Ihr Add-In lädt, als bestehendes Projekt zu Ihrer Solution hinzu und stellen Sie die Debugger-Version dafür auf v2.0 ein.

  1. Klicken Sie mit der rechten Maustaste auf die Solution im Solution Explorer und wählen Sie Hinzufügen → Bestehendes Projekt… und suchen Sie die EXE, die Ihr Add-In lädt.

Ein bestehendes Projekt zu unserer VS 2010-Solution hinzufügenEin bestehendes Projekt zu unserer VS 2010-Solution hinzufügen

Diese Schritte stellen sicher, dass Visual Studio die richtige Umgebung erkennt und Breakpoints korrekt funktionieren. Nach dem Hinzufügen können Sie direkt debuggen, ohne zusätzliche Anpassungen.

  1. Klicken Sie mit der rechten Maustaste auf das soeben hinzugefügte Projekt und wählen Sie Als Startprojekt festlegen.

Das neue Projekt zum Startprojekt machenDas neue Projekt zum Startprojekt machen

Mit dieser Einstellung startet die EXE automatisch über Visual Studio, was den Debugging-Prozess erleichtert.

  1. Klicken Sie mit der rechten Maustaste auf das Projekt und wählen Sie Eigenschaften.

Das Projekt bearbeitenDas Projekt bearbeiten

In den Eigenschaften können Sie feinere Anpassungen vornehmen, um Kompatibilitätsprobleme zu vermeiden.

  1. Stellen Sie den Debugger-Typ auf Verwaltet (v2.0, v1.1, v1.0) ein.

Den Debugger-Typ im Executable-Projekt ändernDen Debugger-Typ im Executable-Projekt ändern

Durch diese Konfiguration verwendet VS 2010 den passenden Debugger für .NET 2.0-Projekte und Breakpoints werden zuverlässig ausgelöst.

Fazit und Tipps für den Einstieg

Zusammenfassend bieten diese drei Lösungen effektive Wege, um AutoCAD-Add-Ins oder ähnliche Plugins mit Visual Studio 2010 zu debuggen, insbesondere bei .NET-Framework-Kompatibilitätsproblemen. Wählen Sie basierend auf Ihrer Workflow die passendste Methode: Attach-to-Process für schnelle Tests, Config-Änderung für dauerhafte Setups oder das Projekt-Integration für umfassende Entwicklungsumgebungen.

Weiterlesen >>  RED CAD Elektro: Die Intuitivste CAD-Lösung für Ihre Professionelle Elektrotechnik-Planung

Testen Sie die Lösungen in Ihrer Visual Studio 2010-Installation und profitieren Sie von stabilerem Debugging. Für weitere Tipps zu AutoCAD-Entwicklung oder .NET-Plugins in Autodesk-Produkten schauen Sie in die offiziellen DevNotes oder Foren. Starten Sie jetzt Ihr nächstes Projekt – setzen Sie Breakpoints und optimieren Sie Ihren Code!