Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  AutoCAD ObjectARX und .NET
  Fehler bei Debug einer vb.net DLL

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
  
PNY WIRD VON NVIDIA ZUM HÄNDLER DES JAHRES GEWÄHLT, eine Pressemitteilung
Autor Thema:  Fehler bei Debug einer vb.net DLL (2498 mal gelesen)
Kathira
Mitglied


Sehen Sie sich das Profil von Kathira an!   Senden Sie eine Private Message an Kathira  Schreiben Sie einen Gästebucheintrag für Kathira

Beiträge: 5
Registriert: 06.07.2011

MS Windows XP Professional SP3; ASUS Barebone PC; Intel Core 2 Quad CPU Q9650 @ 3.00GHz; 3,25GB RAM; NVIDIA GeForce 9600 GT; AutoCAD 2009

erstellt am: 11. Jul. 2011 15:40    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo an alle!

Ich würde gerne ein vb.net Projekt in Microsoft Visual Basis 2010 Express debuggen. Bis jetzt teste ich die DLL-Datei in AutoCAD, da sie für AutoCAD geschrieben wurde.

Beim Debuggen in Microsoft Visual Basic 2010 Express tritt jedoch immer die Fehlermeldung: "ReflectionTypeLoadException wurde nicht behandelt. Mindestens ein Typ in der Assembly kann nicht geladen werden." auf.
Beim Googlen dieser Fehlermeldung finde ich keinen genauen Lösungsvorschlag für meine Situation.
Vielleicht könnt ihr mir da weiterhelfen.

Vielen Dank im Voraus!

Lg Kathi

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP


Ex-Mitglied

erstellt am: 11. Jul. 2011 15:58    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi,

>> Beim Googlen dieser Fehlermeldung finde ich keinen genauen Lösungsvorschlag für meine Situation.

...und Deine Beschreibung der Situation ist für mich zu wenig, um was darüber sagen zu können.

Eigentlich sagt es aus, dass etwas nicht geladen werden konnte (oder durfte).

Was jetzt in Deinem Projekt zu laden ist ==> sorry, ohne das Projekt kann nicht mal gemutmaßt werden

Was jetzt vielleicht nicht geladen werden durfte, kann mit Berechtigungen oder Versionskonflikten zusammenhängen. Zu Versionskonflikt kann ich mal folgendes äussern: bitte >>>SysInfo ausfüllen<<<, damit würden wir mal Betriebssystem Version (+ 32 od. 64bit), AutoCAD (bzw. vertikales Produkt) + Version kennen.


>> Beim Debuggen in Microsoft Visual Basic 2010 Express tritt jedoch immer die Fehlermeldung

Wann ist denn 'beim Debuggen' 

Schon beim Laden mit NETLOAD innerhalb von AutoCAD, oder bei einer bestimmten Funktion, die Du geschrieben hast, ev. immer bei der gleichen Programmzeile, ....?


Beschreib bitte (ein wenig) mehr, dann können wir weniger schreiben (dafür deutlich zielgerichteter  )

- alfred -

------------------
www.hollaus.at

Kathira
Mitglied


Sehen Sie sich das Profil von Kathira an!   Senden Sie eine Private Message an Kathira  Schreiben Sie einen Gästebucheintrag für Kathira

Beiträge: 5
Registriert: 06.07.2011

MS Windows XP Professional SP3; ASUS Barebone PC; Intel Core 2 Quad CPU Q9650 @ 3.00GHz; 3,25GB RAM; NVIDIA GeForce 9600 GT; AutoCAD 2009

erstellt am: 11. Jul. 2011 16:30    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Sowohl die .Net-Entwicklungsumgebung als auch AutoCAD sind für mich eher neu, deshalb drücke ich mich vielleicht nicht gewählt genug oder unverständlich aus. Ich bitte da um euer Verständnis.

Also ich arbeite mit einer DLL-Datei, die in vb.net geschrieben wurde und in AutoCAD ausgeführt werden soll. Die DLL lässt sich in AutoCAD über netload problemlos laden und ausführen. Nur ist es mühsam während dem Programmieren AutoCAD ständig zu schließen und erneut zu öffnen, da eine Datei aus netload nicht wieder überschrieben werden kann. Deshalb würde ich das Programm einfach in VB Express debuggen.

Egal welche vb-Datei des Projektes ich debuggen will, es erscheint eben jene Fehlermeldung.
Muss ich immer eine bestimmte Datei zuerst laden um den Debugger starten zu können?
Oder ist es vielleicht etwas Versionsabhängiges?
Ich denke es liegt an Grundeinstellungen, denn ich komme nicht einmal zu einer Fehlerausgabe über eine bestimmte Programmzeile.

Ich hoffe, dass euch das weiterhilft...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP


Ex-Mitglied

erstellt am: 11. Jul. 2011 16:37    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi,

ich hab kein Express, daher ist das folgende vielleicht nicht gültig.

Der Vorgang, um ein Projekt zu debuggen, spielt sich (zumindest in der VS.Prof-Version) so ab:

a) in den Projekteigenschaften ==> (Karte) 'Debuggen' ==> Markierung auf 'externes Programm starten' und hier den Pfad/Dateiname zu 'acad.exe' einstellen

b) dann kann das Projekt (im Debug-Modus) direkt aus VS heraus gestartet werden (<F5>)

c) und wenn Du ein 32bit Betriebssystem hast und ein 32bit AutoCAD hast, dann darfst Du sogar während des Debuggens Code umschreiben ohne zwischendurch AutoCAD immer beenden und neu starten zu müssen)

Hilft das weiter?

- alfred -

------------------
www.hollaus.at

Kathira
Mitglied


Sehen Sie sich das Profil von Kathira an!   Senden Sie eine Private Message an Kathira  Schreiben Sie einen Gästebucheintrag für Kathira

Beiträge: 5
Registriert: 06.07.2011

MS Windows XP Professional SP3; ASUS Barebone PC; Intel Core 2 Quad CPU Q9650 @ 3.00GHz; 3,25GB RAM; NVIDIA GeForce 9600 GT; AutoCAD 2009

erstellt am: 12. Jul. 2011 08:42    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,

In Express scheint die Einbindung der acad.exe Datei etwas anders zu funktionieren als beschrieben, aber der Beitrag hat mir auf der Suche sehr geholfen. Danke!

Es waren einige Codezeilen in der MyProjectName.vbproj.user-Datei hinzuzufügen. Bei Interesse hier die Beschreibung: http://through-the-interface.typepad.com/through_the_interface/2006/07/debugging_using.html

Danke nocheinmal für die Hilfe.

Lg Kathi

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Goofy007
Mitglied
Vermessungstechniker


Sehen Sie sich das Profil von Goofy007 an!   Senden Sie eine Private Message an Goofy007  Schreiben Sie einen Gästebucheintrag für Goofy007

Beiträge: 578
Registriert: 06.11.2004

erstellt am: 12. Jul. 2011 09:26    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Kathira 10 Unities + Antwort hilfreich

Hallo Alfred,

Zitat:
c) und wenn Du ein 32bit Betriebssystem hast und ein 32bit AutoCAD hast, dann darfst Du sogar während des Debuggens Code umschreiben ohne zwischendurch AutoCAD immer beenden und neu starten zu müssen)

Bedeutet das im Umkehrschluss, wenn ich ein 64bit System verwenden will (Win 7 64 bit, VS 2010 Express und Map 3D 2012) muss ich Autocad beenden um Änderungen am Code vornehmen zu können.
Und dann wieder Autocad starten, DLL laden, testen ... Autocad beenden, Code ändern usw.

Das ist bei der "berauschenden" Geschwindigkeit mit der Autocad startet ja eine schreckliche Vorstellung!

lg
Didi


Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP


Ex-Mitglied

erstellt am: 12. Jul. 2011 10:22    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi,

>> Bedeutet das im Umkehrschluss, wenn ich ein 64bit System verwenden will [...]
>> muss ich Autocad beenden um Änderungen am Code vornehmen zu können.

Ja, darum entwickle ich auf 32bit und erst im Finale wird auf 64bit debugt.

Das ist aber Microsoft, VS ist (und wird es imho bleiben) eine 32bit Applikation. Solange das so ist, wird Coding-while-Debugging nicht funktionieren.


>> Das ist bei der "berauschenden" Geschwindigkeit mit der Autocad startet ja eine schreckliche Vorstellung!

Echt? Dann schaff einen anderen Rechner an, denn wenn Du AutoCAD mal im Cache hast, dann startet es auf einem normalen (CAD-tauglichen) Computer doch in wenigen Sekunden. 
(Ergänzung Win7 natürlich schneller als XP)


- alfred -

------------------
www.hollaus.at

oscarr
Mitglied
CAD-Manager


Sehen Sie sich das Profil von oscarr an!   Senden Sie eine Private Message an oscarr  Schreiben Sie einen Gästebucheintrag für oscarr

Beiträge: 198
Registriert: 02.10.2007

ACA 2012 - English Win 7/x64

erstellt am: 12. Jul. 2011 10:50    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Kathira 10 Unities + Antwort hilfreich

Wenn man es ganz bequem haben will hilft auch eine zusätzliche scr Datei mit einem:
Code:

netload "E:\myAddon\bin\Debug\LFE.dll"
open "E:\myAddon\DateiMitDerIchTeste.dwg"
myCommand

wobei meine .vbproj.user Datei dann so aussieht:

Code:

  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
    <StartProgram>C:\Program Files\Autodesk\AutoCAD Architecture 2011\acad.exe</StartProgram>
    <StartAction>Program</StartAction>
    <StartArguments>/b "E:\myAddon\autoload.scr" /p "ACAD"</StartArguments>
  </PropertyGroup>

und schon passiert alles auf knopfdruck. Ich empfehle an dieser Stelle die Verwendung von einem Profil mit so wenig drinne wie geht (bei mir oben im Beispiel ohne den Architectural Kram) das beschleunigt den Start doch enorm.

LG
Holger

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Goofy007
Mitglied
Vermessungstechniker


Sehen Sie sich das Profil von Goofy007 an!   Senden Sie eine Private Message an Goofy007  Schreiben Sie einen Gästebucheintrag für Goofy007

Beiträge: 578
Registriert: 06.11.2004

erstellt am: 12. Jul. 2011 12:04    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Kathira 10 Unities + Antwort hilfreich

Hallo Holger,

danke für den Hinweis. Werd ich ausprobieren.

lg
Didi

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2024 CAD.de | Impressum | Datenschutz