Warum kann der Haltepunkt beim Debuggen eines ArcGIS 10-Add-Ins nicht "getroffen" werden?

24

Ab und zu stoße ich auf folgendes Problem:

Ich beginne mit dem Debuggen des Add-Ins und Haltepunkte werden ignoriert. Fast scheint die Kommunikation zwischen der IDE und der Komponente nicht zu funktionieren.

Mein Problem ist, dass ich es das letzte Mal gelöst habe und mich jetzt nicht mehr erinnern kann, was ich getan habe, um es zu beheben.

Der Haltepunkt wird derzeit nicht erreicht. Für das Dokument wurden keine Symbole geladen. Bildbeschreibung hier eingeben

Teilweise ist das Problem, das ich habe, hier bereits beschrieben , aber es gibt keine Lösung für die tatsächliche Störung des Haltepunkts.

Bitte beachten Sie, dass dies normalerweise funktioniert.

Das Löschen der Bin und des Obj scheint nicht zu funktionieren.

Dieses Mal habe ich gerade mein gesamtes Projekt aus dem Backup wiederhergestellt und von vorne begonnen, aber ich würde gerne wissen, wie ich das beheben kann, wenn ich darauf noch einmal stoße.

Jakub Sisak GeoGraphics
quelle
1
Ist das XML-Attribut "onDemand" in Ihrer Konfigurationsdatei auf "false" gesetzt?
Kirk Kuykendall
Ich habe keine endgültige Antwort (obwohl dies normalerweise bedeutet, dass der Debugger die pdb-Datei für die geladene DLL nicht finden kann), aber Sie können versuchen, diese Fragen auf SO zu durchsuchen, um festzustellen , ob sie Sie in die richtige Richtung bewegen.
Michael Todd
@ Kirk, ich sehe kein solches Attribut in der Datei config.esriaddinx.
Jakub Sisak GeoGraphics
@Michael - danke. wird genauer hinsehen. Das Problem ist, dass ich meinem Add-In monatelang Funktionen hinzufügen kann und das Debuggen glücklicherweise nicht mehr funktioniert.
Jakub Sisak GeoGraphics
2
Ich habe es auch mehrmals ohne ersichtlichen Grund passieren lassen. Wenn ich mich erinnere, löschte ich das obj- und bin-Verzeichnis ein paar Mal und löste es ein paar Mal. Das Kopieren der verdächtigen pdb- und dll-Dateien in das bin-Verzeichnis des aktuellen Projekts hat ein paar Mal funktioniert . obwohl. Viel Glück.
Michael Todd

Antworten:

16

Hier ist eine inoffizielle und noch nicht getestete Lösung von ESRI-Mitarbeitern. (Sie haben betont, dass dies keine offizielle Lösung ist)

Versuchen Sie, die Datei arcmap.exe.config aus dem bin-Verzeichnis zu entfernen.

Dies ist die XML-Datei \ ArcGIS \ Desktop10.0 \ bin \ arcmap.exe.config.

Bildbeschreibung hier eingeben

Jakub Sisak GeoGraphics
quelle
3
Eigentlich ist es hier "dokumentiert". Resources.arcgis.com/en/help/arcobjects-net/conceptualhelp/… Ich bin auf dieses Problem gestoßen, als ich das ogr-workspace-Plugin codierte und es schließlich in die Entwickler-FAQs von github.com/ gestellt habe. RBURHUM / arcgis-ogr
Ragi Yaser Burhum
Dies löste das Problem für mich sowie ein weiteres Problem, bei dem meine Debug.WriteLine()Nachrichten in VS 2010 nicht an das Ausgabefenster gesendet wurden.
GeoSharp
Ich bin WIEDER auf diese Ausgabe gestoßen, und diesmal hat sie funktioniert. Ich verwende VS 2010 Express (C #) und wende .NET 4.0 an. Ich musste die v4.0 unterstützte Laufzeitversion auskommentieren und die v2.0 Referenz entfernen.
Radar
8

2 Jahre und 2 Versionen später und das ist immer noch ein Problem. Ich habe gerade alle meine Addins für 10.2 aktualisiert / verbessert und bin erneut auf dieses Problem gestoßen. Implementiert alle Vorschläge in diesem Beitrag und nichts hat funktioniert, aber ich habe 1 zusätzliches mögliches Problem entdeckt . Leider bin ich mir nicht sicher, ob dies der Schuldige war oder nicht, da ich gleichzeitig auch die meisten anderen möglichen Korrekturen implementiert habe.

Neuer Fund: Ich habe festgestellt, dass ich Addins seit Version 10 auf demselben Computer entwickle und nach der Neuinstallation ältere ArcGIS-Daten nicht immer bereinigt habe. Ich habe festgestellt, dass ich eine ältere Version des Täter-Add-Ins in einer früheren Version von ArcGIS-Daten in C: \ Programme (x86) \ ArcGIS hatte. Da ArcGIS die älteren Add-Ins lädt, bestand möglicherweise ein Konflikt. Ich habe alle älteren arcgis-Anwendungsdaten (Desktop10.0, Desktop10.1) entfernt, sodass nur Desktop10.2 übrig blieb und der Haltepunkt zum Leben erweckt wurde. Auch hier bin ich nicht 100% ig, wenn dies die Lösung ist, aber es könnte sich um ein anderes Element auf der Liste handeln, auf das geprüft werden muss.

Ich habe gesehen, dass dieses spezielle Problem auf einer anderen Website als "der ultimative Produktivitätskiller" bezeichnet wird, und ich konnte nicht mehr zustimmen.

Zusammenfassend ist hier meine aktuelle To-Do-Liste für das Problem der toten Haltepunkte:

  1. Stellen Sie sicher, dass das Add-In tatsächlich ausgeführt wird. Es reicht nicht aus, wenn der Debugger die Anwendung startet - der Haltepunkt wird "tot" angezeigt, bis ich das Add-In (Schaltfläche, Menüoption usw.) ausführe.

  2. Löschen Sie OBJ- und BIN-Futter aus dem Projektverzeichnis.

  3. Löschen Sie den Inhalt von assebmly chache: C: \ Users \ User \ AppData \ Local \ ESRI \ Desktop10.2 \ AssemblyCache

  4. Löschen Sie alle alten Baugruppendaten. (Wenn die aktuelle Version 10.2 ist, löschen Sie die Desktop10.0- und Desktop10.1-Baugruppendaten.) Es gibt keinen Beweis dafür, dass dies hilft oder Teil des Problems ist, aber es gibt keinen Grund, warum diese Daten existieren müssen. Daher lösche ich sie nur für den Fall (C : \ Benutzer \ Benutzer \ AppData \ Local \ ESRI)

  5. Gemäß dem Unterstützungsvorschlag von ESRI; Ändern Sie das ArcCatalog- und ArcMap-Konfigurations-XML (funktionierte nicht von selbst, als ich es versuchte, aber mehrere Personen haben dies als Lösung empfohlen, einschließlich ESRI-Unterstützung). Suchen Sie ArcCatalog.exe.config und ArcMap.exe.config in C: \ Programme ( x86) \ ArcGIS \ Desktop10.2 \ bin Öffnen Sie jede XML-Datei im Editor und entfernen Sie die Zeile. <supportedRuntime version="v2.0.50727"/> Es geht um die fünfte Zeile

  6. Löschen Sie alle älteren ArcGIS-Anwendungsdaten aus dem Installationsverzeichnis. Das hat bei mir funktioniert. (wahrscheinlich) Wechseln Sie zu: C: \ Programme (x86) \ ArcGIS Löschen Sie alle Ordner außer den aktuellen Ordnern für Desktop10.x (dh Desktop10.0, Desktop10.1). Nur die aktuelle Desktop-Version sollte an diesem Speicherort verbleiben.

  7. Entfernen Sie alle Projektverweise, einschließlich der Nicht-ESRI-Verweise, und fügen Sie sie erneut hinzu. Wiederholen Sie die Schritte 2 und 3, kompilieren Sie sie erneut und führen Sie dbugger aus.

  8. Computer neu starten. (Dies hat in der Vergangenheit auch schon so oft funktioniert) Dies war auch eine der empfohlenen Lösungen für Stack Overflow.

  9. In Config.esriaddinx - ändern Sie die Schaltfläche, um onDemand = false einzuschließen: (Kirks Vorschlag - siehe oben) Dies hat für mich persönlich nicht funktioniert.

  10. Projekt von Grund auf neu erstellen. (Das hat in der Vergangenheit bei mir funktioniert.)

Jakub Sisak GeoGraphics
quelle
Jakub, ich hatte ein ähnliches, aber nicht verwandtes Problem gis.stackexchange.com/questions/155016/… - es stellte sich heraus, dass das Vermächtnis auch dort ein Problem war. Die .net-Framework-Version war nicht aktuell. Wenn Sie also alle ausprobiert haben und es immer noch nicht funktioniert, folgen Sie dem Link für eine weitere Möglichkeit.
Michael Stimson
5

Das einzige Mal, dass ich dies erhalte, war, als ich eine andere ArcMap-Instanz geöffnet hatte und vergaß, sie vor dem Erstellen / Debuggen zu schließen. Wenn Sie nicht alle Instanzen mit der Assembly schließen, wird die alte weiterhin verwendet. Oder etwas ähnliches.

blah238
quelle
Ich habe versucht, den Computer neu zu starten, VS zu öffnen und den Debugger auszuführen, ohne andere Instanzen von ArcMap zu öffnen. Es wurde ArcMap wie gewohnt gestartet, da das Problem mit dem "toten Haltepunkt" weiterhin bestand.
Jakub Sisak GeoGraphics
Also habe ich ArcGIS und Visual Studio auf einem anderen Computer installiert (alles sauber installiert) und das Gleiche passierte wieder. Ich habe jeden Vorschlag ausprobiert und Sie scheinen richtig zu sein. Ich habe dafür gesorgt, dass alle offenen ArcGIS-Prozesse beendet werden. Dabei funktionieren die Haltepunkte.
Jakub Sisak GeoGraphics
5

Da .NET Framework meines Projekts 4.0 ist, habe ich supportedRuntime version="v4.0.30319"in ArcMap.exe.config geändert und festgestellt, dass das Problem durch diese Änderung verzögert wurde. Ich erinnerte mich auch, dass ArcMap auch ArcCatalog lädt, also habe ich auch ArcCatalog.exe.config in geändert supportedRuntime version="v4.0.30319"und JA !!! Es geht wieder. Ich habe den ganzen Tag versucht, dieses Problem zu beheben, und ich hoffe, dass es auch bei Ihnen funktioniert.

Sabin Kolarov
quelle
1
Ich musste auch bin und obj ordner löschen.
Sabin Kolarov
4

Ich habe die obigen Vorschläge eine Weile ausprobiert und bin schließlich zu einer Lösung gekommen. Wenn ich zur Sache komme, gebe ich zuerst die Lösung und dann die Erklärung:

  1. Öffnen Sie den Task-Manager. Beenden Sie den Prozess für eine Kopie von ArcMap.exe.

  2. Öffnen Sie einen Windows Explorer. Navigieren Sie zu C: \ Users \\ Local Settings \ ESRI \ Desktop10.

  3. Wenn AssemblyCache nicht angezeigt wird, deaktivieren Sie "Organisieren> Ordner- und Suchoptionen> Anzeigen> Geschützte Betriebssystemdateien ausblenden (empfohlen)".

  4. Suchen Sie in den Verzeichnissen in AssemblyCache nach dem Verzeichnis, das Ihre DLL enthält.

  5. Löschen Sie die DLL.

  6. Erstellen Sie das Projekt neu und debuggen Sie. Sobald Ihr Add-In aktiviert ist, sollte der Cache-Inhalt aktualisiert werden.

  7. Wenn gewünscht, verstecken Sie die geschützten Betriebssystemdateien erneut.

Das Problem für mich war, dass es eine alte Instanz meiner DLL im Ordner C: \ Users \\ Local Settings \ ESRI \ DesktopX.X \ AssemblyCache \ gab und ich \ AssemblyCache auch nicht sehen konnte, weil ich es nicht erkannte Es war eine versteckte OS-Datei. Es wurde auch eine Zombie-Instanz von ArcMap ausgeführt. Als ich versuchte, die DLL zu löschen, war sie zunächst gesperrt. Mein Verdacht ist, dass das Problem in erster Linie darin besteht, dass ich eine Debug-Sitzung von ArcMap nicht vollständig beendet habe, bevor ich den Code neu kompiliert und eine andere gestartet habe. Die alte DLL im Cache konnte nicht überschrieben werden, da sie in der alten ArcMap-Instanz noch gesperrt war und die zwischengespeicherte Version nicht mehr aktualisiert wurde, sobald sie nicht mehr mit dem neuen Code synchronisiert war. (Anhand der Dateidaten kann ich erkennen, dass die Dateien .config, .pdb und .xml aktualisiert werden, nicht jedoch die DLL.)

StephenKCA
quelle
Ja, das klingt nach der richtigen Problemumgehung.
Jakub Sisak GeoGraphics
2

Ich beschäftigte mich mit dem gleichen Problem, mit meinem eigenen Add-In in einem völlig anderen Thema, und ich untersuchte Folgendes:

Starten Sie zunächst das Debugging und wählen Sie im Menü das folgende Fenster Debugging >> Windows >> Module, in dem Sie sehen können, welche Module beim Start des Debugs geladen wurden. Wenn Sie die yourAddIn.dll dort nicht sehen können, wissen Sie zumindest, dass sie nicht vom Studio geladen wurde. Wenn Sie dort sehen und den Haltepunkt dort nicht platzieren können, hat das Studio einen alten geladen. Um dies zu überprüfen, ändern Sie den Namen der Assembly in den Projekteigenschaften, erstellen Sie die Projektmappe neu, starten Sie das Debugging, und die alte DLL wird dort geladen. Ich weiß nicht, woher das Studio diese alte DLL lädt.

Rufen Sie den Projektmappen-Explorer auf und überprüfen Sie, ob die Dateien "yourAddIn.Addin" und "yourAddIn - For Testing.AddIn" miteinander verglichen wurden. Möglicherweise unterscheiden sie sich. Das Studio verwendet nur die 2. Datei in seinem Add-In-Manager! Bei der ersten Änderung Ändern Sie auch das Tag darin, um auf die richtige DLL zu verweisen, und Sie können das Tag auch überprüfen. Für mich wurde der Wert in der Datei "yourAddIn - For Testing.AddIn" auf 0 zurückgesetzt, daher habe ich ihn wieder auf 1 geändert. (Wenn Sie das bin-Verzeichnis Ihres Add-Ins löschen und das Studio starten, werden Sie dazu aufgefordert und gefragt Damit möchten Sie dieses Add-In aus Ihrer Add-In-Liste entfernen! An dieser Stelle setzt das Studio das LoadBehavior auf 0.)

Nach diesen beiden Änderungen hat es wieder funktioniert!

MrNice
quelle
Vielen Dank, dass Sie uns Ihre Erfahrungen mitteilen und uns die Details mitteilen. Willkommen in unserer Community!
whuber
2

Mit Visual Studio habe ich ein neues Add-In für Arcmap erstellt und eine Schaltfläche und eine Symbolleiste hinzugefügt. Das Ergebnis ist eine Konfigurationsdatei, die so aussieht:

<ESRI.Configuration xmlns="http://schemas.esri.com/Desktop/AddIns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <Name>ArcMapAddin4</Name>
  <AddInID>{b6b350bb-084d-42b8-a44a-6dbb6a9f5906}</AddInID>
  <Description>Type in a description for this Add-in.</Description>
  <Version>1.0</Version>
  <Image>Images\ArcMapAddin4.png</Image>
  <Author>Kirk</Author>
  <Company>Microsoft</Company>
  <Date>8/15/2011</Date>
  <Targets>
    <Target name="Desktop" version="10.0" />
  </Targets>
  <AddIn language="CLR" library="ArcMapAddin4.dll" namespace="ArcMapAddin4">
    <ArcMap>
      <Toolbars>
        <Toolbar id="MyToolbar4" caption="MyToolbar4" showInitially="true">
          <Items>
            <Button refID="Microsoft_ArcMapAddin4_Button1"/>
          </Items>
        </Toolbar>
      </Toolbars>
      <Commands>
        <Button id="Microsoft_ArcMapAddin4_Button1" class="Button1" message="Add-in command generated by Visual Studio project wizard." caption="My Button" tip="Add-in command tooltip." category="Add-In Controls" image="Images\Button1.png" />
      </Commands>
    </ArcMap>
  </AddIn>
</ESRI.Configuration>

Ich habe im Konstruktor einen Code für den Button erstellt und einen Haltepunkt eingefügt. Ich habe im Debug-Modus begonnen und festgestellt, dass die Assembly noch nicht geladen wurde:

Bildbeschreibung hier eingeben

Ich habe die Schaltfläche so geändert, dass sie onDemand = false enthält:

Bildbeschreibung hier eingeben

Als ich arcmap erneut startete, traf es den Haltepunkt. Wenn die Symbolleiste beim Start deaktiviert ist, müssen Sie sie sichtbar machen, damit der Schaltflächenkonstruktor aufgerufen wird. In gewisser Weise ist sie also immer noch bei Bedarf.

Kirk Kuykendall
quelle
Danke @Kirk. Da ich mein Projekt aus dem Backup wiederhergestellt habe, scheint es jetzt zu funktionieren. Normalerweise debugge ich eine Prozedur, die weiter unten ist. dh vom klick selbst auf einen button gerufen was diesmal der fall war. Ich bin mir ziemlich sicher, dass die Assembly zu diesem Zeitpunkt bereits geladen ist. (oder sollte es sein, aber es ist nicht aus irgendeinem Grund) Ich werde diese Lösung auf jeden Fall versuchen, wenn dies das nächste Mal passiert.
Jakub Sisak GeoGraphics
2

Ich musste mein Add-In für arcCatalog so ändern, dass es mit Framework 4 mit der neuen Version 10.1 von ArcCatalog übereinstimmt.
Gerade auskommentiert die Version = "v2.0.50727" und unkommentiert "v4.0.30319"

In C: \ Programme (x86) \ ArcGIS \ Desktop10.1 \ bin die XML-Konfigurationsdatei ArcCatlog.exe

stoppt jetzt am Haltepunkt

Scheint dasselbe Problem mit arcmap zu sein

anonym
quelle
2

Nachdem ich ein ESRI ArcGIS 10-Projekt von einem Computer auf einen anderen migriert habe, ist der Fehler aufgetreten, dass der Computer die Debug-PDB-Dateien für ArcMap.exe nicht laden konnte. Ich habe jeden Ratschlag zu diesem Beitrag ohne Glück ausprobiert.

Dann habe ich folgendes gemacht:

Ich habe die Referenzen für alle Esri. * -Bibliotheken in jedem Projekt gelöscht, in dem sie enthalten waren, und sie dem Projekt auf dem neuen Computer erneut hinzugefügt.

Dies ist, was schließlich für mich gearbeitet hat. Wenn hier jemand mit diesem vagen Problem stolpert und alles versucht hat, was auf dieser Seite aufgeführt ist, versuchen Sie es - es ist schnell und einfach und ziemlich harmlos. Ich bin nicht ganz sicher, warum dies getan werden musste, ich vermute, es hat mit dem Nachschlagen der Bibliotheken pro Computer zu tun.

Dies war für ein Projekt, das BaseCommands / Toolbars und nicht die neuen Add-Ins verwendete. Verwenden von ArcGIS 10.0 und .NET 3.5 mit Visual Studio 2010 unter Windows 7 Pro.

Codemaus
quelle
2

Für diejenigen, die auf .Net 4.0 Framework abzielen, hat Folgendes für mich funktioniert.

  1. Gemäß vielen Vorschlägen ändern Sie ArcMap.exe.config und ArcCatalog.exe.config auf das Ziel-4.0-Framework.
    <?xml version="1.0" encoding="utf-8" ?> <configuration> <startup> <supportedRuntime version="v4.0.30319"/> <!--supportedRuntime version="v2.0.50727"/--> </startup>
    Aus irgendeinem Grund scheint ArcCatalog.exe.config für Änderungen gesperrt zu sein. Ich habe es umgangen, indem ich es in ein anderes Verzeichnis kopiert und geändert und dann ersetzt habe.
  2. Dann ändern Sie in der Config.esriaddinx die Addin-Sprache auf "CLR4.0"
Nilster
quelle
1

Zwei mögliche Ursachen kommen mir in den Sinn:

  1. Das Add-In ist nicht ordnungsgemäß registriert, sodass die DLL nicht in den zu debuggenden ArcMap-Prozess geladen wird.

  2. Ihr Projekt zielt auf .NET 4. Versuchen Sie stattdessen, .NET 3.5 als Ziel festzulegen.

Petr Krebs
quelle
Targeting .Net 3.5. Ich verstehe nur nicht, warum alles gut funktionieren würde und plötzlich nicht mehr.
Jakub Sisak GeoGraphics
1

Wenn Sie mit mehreren Projekten in derselben Visual Studio-Lösung codieren, können Situationen auftreten, in denen Visual Studio (VS) Ihre Haltepunkte "deaktiviert" und Sie nicht in der Lage sind, Ihren Code schrittweise zu durchlaufen. Dies ist mir kürzlich passiert, als ich nicht in ein "abhängiges" DLL-Assembly-Projekt eintreten konnte, das von meinem Hauptprojekt aufgerufen wurde.

VS-Warnungen deuteten darauf hin, dass meine Assembly (DLL) veraltet war und nicht genau mit meinem Code übereinstimmte. Es gibt VS-Optionen zum Deaktivieren der Anforderung, dass Code übereinstimmt, aber intuitiv schien dies eine schlechte Idee zu sein und wurde durch Internet-Posts gesichert. Ich habe viele Websites gelesen und es gibt einige knorrige Vorschläge.

Am Ende habe ich die Ausgabe-DLL von meinem abhängigen Computer gesucht und mehrere alte Kopien an verschiedenen Stellen auf meinem Computer gefunden (vermutlich aus früheren Experimenten und Projektkonfigurationen). Also habe ich alle gelöscht und meine Lösung von Grund auf neu erstellt. Dies hat mein Problem behoben. Ich vermute, mein aktuelles Projekt war versehentlich an eine der alten Kopien gebunden und verwendete nicht den neuesten Build, der in meinem Debug-Ordner abgelegt wurde.

Radar
quelle
1

Was für mich funktionierte, war nicht das Löschen der Datei "arcmap.config.exe", wie im obigen Beitrag von Jakub beschrieben, sondern das Setzen des "supportedRuntime" -Tags in dieser Datei auf die richtige Version des Frameworks, auf das Sie in Visual Studio abzielen, in meinem Fall:

<startup>
    <supportedRuntime version="v3.5"/>
</startup> 
JsP
quelle
1

In einer Reihe von ArcObjects-Projekten habe ich eine Liste mit Gründen zusammengestellt, warum das Debuggen für Add-Ins, Erweiterungen und Befehle (Pre-Add-In) möglicherweise nicht funktioniert. In keiner bestimmten Reihenfolge:

  1. Sie befinden sich im Release-Modus von Visual Studio anstelle des Debug-Modus
  2. Alte Versionen des Tools sind weiterhin in ArcMap / ArcCatalog registriert. Diese verhindern, dass Ihre Debug-Version geladen wird, oder es werden andere Tools mit demselben Namen registriert
  3. Das Projekt / die Projektmappe muss bereinigt werden. Wechseln Sie ggf. zu \ bin und \ obj, und löschen Sie alle veralteten Dateien
  4. In einigen Fällen können Haltepunkte nur nach Aktivierung des Tools erreicht werden (on-demand).
  5. Wenn keine Haltepunkte erreicht werden, tritt möglicherweise eine Ausnahme im Konstruktor auf und das Tool wird nie ausgeführt. Überprüfen Sie dies, indem Sie alle CLR-Ausnahmen im Debug-Menü anzeigen
  6. Einträge in C: \ Benutzer \ <Name> \ Lokale Einstellungen \ ESRI \ DesktopX.X \ AssemblyCache müssen gelöscht werden

Bei vielen Schritten muss ArcMap neu gestartet werden. Wenn alles andere fehlschlägt, ist ein Neustart der Maschine ein einfacher Fallback, aber ich habe nur einmal einen Unterschied gemacht.

Tomfumb
quelle
0

Das ist mir ein- oder zweimal passiert. Wenn ich mich richtig erinnere, konnte ich den Haltepunkt zum Funktionieren bringen, als ich eine geringfügige Codeänderung vornahm, was bedeutete, dass die Anwendung neu erstellt wurde. Was passiert, wenn Sie Ihr Projekt erstellen oder neu erstellen?

Kenbuja
quelle
Ich habe versucht, das Projekt neu zu erstellen und einige Änderungen vorgenommen, aber die Haltepunkte waren "tot" ...
Jakub Sisak GeoGraphics
0

Ich kann nicht glauben, dass mehr Menschen dieses Problem nicht haben. Ich stoße jetzt fast jedes Mal darauf, wenn ich meine Add-Ins verbessere und debugge.

Keine der oben genannten Lösungen funktioniert. Um dies zu beheben, muss das gesamte Projekt gelöscht und aus dem Backup wiederhergestellt werden. Dies lässt mich glauben, dass etwas in dem bestimmten Projekt beschädigt wurde, da es normalerweise auftritt, wenn ArcMap während des Debuggens abstürzt.

Jakub Sisak GeoGraphics
quelle
Gibt es noch verbleibende ArcMap.exe-Prozesse? Manchmal können Add-Ins, Erweiterungen, Befehle usw. eine Ressource festhalten oder eine Race-Bedingung verursachen, die das vollständige Beenden von ArcMap verhindert.
blah238
Es werden keine ArcMap.exe-Prozesse ausgeführt. Ich habe jetzt eine Antwort von ESRI-Mitarbeitern zu Versuchen, <supportedRuntime version = "v2.0.50727" /> aus arcmap.exe.config im bin-Verzeichnis zu entfernen. Ich bin mir jedoch nicht sicher, woher ich diesen Artikel entferne und ich habe gerade mein Projekt aus dem Backup wiederhergestellt und es funktioniert jetzt. Wenn ich mehr über dieses Update weiß, stürze ich ArcMap während des Debuggens ab, was normalerweise dazu führt, dass dies passiert, und probiere es aus.
Jakub Sisak GeoGraphics
0

Erstellen Sie Ihr Projekt mit Framework 4? Ich hatte das gleiche Problem, aber wenn ich auf Framework 3.5 umsteige, funktioniert es einwandfrei.

user20254
quelle
0

Versuchen Sie zu bereinigen und neu zu erstellen, und führen Sie es dann aus, ohne zu debuggen. Wenn die Anwendung ausgeführt wird, fügen Sie es in VS hinzu

mostafa
quelle
0

Ich weiß, dass dies zu offensichtlich klingt, aber ich erwähne trotzdem, dass Sie die entsprechende Edition von Visual Studio benötigen. Dieses Problem kann beispielsweise bei einer Express-Edition eines bestimmten Jahres auftreten, während es bei einer Ultimate-Edition funktionieren kann. Wenn Sie beispielsweise 2010 verwenden, wechseln Sie zu 2012. Wechseln Sie dann von Express zu Ultimate. Ich würde dies tun, wenn Sie noch nicht mit Problemen beim Laden von Symbolen experimentiert haben. ESRI bietet Informationen zum Herunterladen der Symbole in den Cache, wie im obigen Link angegeben (ArcObjects 10 .NET SDK-Hilfe). Dies ist jedoch möglicherweise nicht erforderlich. Stellen Sie vor dem Debuggen sicher, dass Sie das entsprechende .net-Framework verwenden, z. B. .net 3.5 für ältere Editionen.

user89997
quelle