| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte | | | | PNY bietet das umfangreichste Ökosystem von B2B als auch B2C-Lösungen für IT-Akteure auf dem Markt, eine Pressemitteilung
|
Autor
|
Thema: Visual Studio 2010 (2402 mal gelesen)
|
schmodi Mitglied Metallbaukonstrukteur
Beiträge: 57 Registriert: 20.05.2007 Autodesk Architecural Desktop 2007 Windows XP Professional Version 2002 SP2 Pentium 1.7 MHZ, 1 GB Ram
|
erstellt am: 13. Mai. 2010 15:05 <-- editieren / zitieren --> Unities abgeben:
Hallo Ich habe nun probiert mit VS2010 32 bit eine Anwendung für Autocad 2010 64 bit zu programmieren. Leider kann ich aber das Autocad aus dem VS2010 mit "externes Programm starten" nicht starten. Oder besser gesagt das Autocad hängt sich gleich auf beim Starten. Weiss jemand was ich falsch mache oder wie ich mein Hello world programm ausprobieren kann. Es würde mich freuen eine Antwort zu erhalten Gruss Schmodi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 13. Mai. 2010 15:15 <-- editieren / zitieren -->
Hi, >> Oder besser gesagt das Autocad hängt sich gleich auf beim Starten Auch wenn ich VS2008 habe (2010 erst dann einzusetzen gedenke, wenn Autodesk mit der nächsten Version (2011+1) kommt, sollte der Vorgang ident sein, denn auch VS2008 ist eigentlich eine 32bit-App, die halt auch 64bit-Compiling unterstützt (wenn man es im Projekt entsprechend einstellt. Wichtig bei VS2010 scheint mir, dass Du, wenn Du eine AutoCAD-App erzeugst, tunlichst auf Framework 3.5 zurückstellst (erstellst Du eine neue Assembly, stellt sich diese automatisch auf Framework 4.0). Und trotz allem, meist liegt ein Crash von AutoCAD an der Applikation, also vielleicht hast Du doch was drin, was nicht 'astrein' ist, lass uns den Code sehen, vielleicht komme ich auch mit 2008 dazu, etwas erkennen zu können. - alfred - ------------------ www.hollaus.at |
schmodi Mitglied Metallbaukonstrukteur
Beiträge: 57 Registriert: 20.05.2007 Autodesk Architecural Desktop 2007 Windows XP Professional Version 2002 SP2 Pentium 1.7 MHZ, 1 GB Ram
|
erstellt am: 13. Mai. 2010 17:56 <-- editieren / zitieren --> Unities abgeben:
Hallo Ich habe es nun mit Framework 3.5 probiert aber leider funktionierts immer noch nicht. Das Autocad hängt sich beim öffnen gleich auf. Wo kann ich einstelllen damit VS2010 auch 64 bit compiling unterstützt? Anbei poste ich meinen Code: Imports Autodesk.AutoCAD.Runtime Imports Autodesk.AutoCAD.ApplicationServices Imports Autodesk.AutoCAD.DatabaseServices Public Class Class1 <CommandMethod("HelloWorld")> _ Public Sub MyMethod() Application.ShowAlertDialog("Hello World from VB.NET!") End Sub End Class Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 13. Mai. 2010 18:48 <-- editieren / zitieren -->
Hi, wenn Du bei der Projekterstellung nicht 'verstellt' hast, dann wird der Code lediglich als CIL-Code erzeugt und ist damit bit-breiten-neutral. Erst beim Laden der Assembly wird der CIL-Code auf Native-Code kompiliert. >>>hier<<< sind ein paar Erklärungen des Ablaufs. Mit 'verstellt' meine ich, dass Du bei den Projekteigenschaften standardmäßig 'Any CPU' eingestellt hast und dieses (wenn es keinen Grund dafür gibt) auch nicht verstellen solltest. Solange Du nicht über Hürden stolperst, die es eben notwendig machen, auf 32bit oder 64bit zu beschränken, läuft Deine generierte DLL auf beiden Systemarten ohne dass Du etwas machen musst. Hättest Du es verstellt, dann würdest Du aber schon beim Laden der Assembly mit Befehl NETLOAD zu spüren bekommen, dass es nicht passt, denn AutoCAD würde Dir die Fehlermeldung unmittelbar präsentieren. Deinem Code seh ich mal so nichts an, was AutoCAD stören dürfte. Auch wenn ein klein wenig dazuzutun wäre, als minimalistisches Beispiel muss er so laufen. Es stellt sich jetzt die Frage, wann AutoCAD abfliegt.
- gleich wenn Du AutoCAD startest - wenn Du mit NETLOAD die Assembly lädst - erst wenn Du Deinen Befehl startest - alfred - ------------------ www.hollaus.at |
Wene71 Mitglied
Beiträge: 28 Registriert: 25.04.2010 Win8.1 Pro x64, ACAD 2015, VS 2013
|
erstellt am: 14. Mai. 2010 23:30 <-- editieren / zitieren --> Unities abgeben: Nur für schmodi
Hallo, das Framework 4.0 kann mann schon nutzen! um Framework 4.0 unter AutoCAD nutzen zu können mußt Du in der acad.exe.config (findest Du in deinem ACAD-Installationsverzeichnis) folgendes stehen haben... <configuration>
<startup useLegacyV2RuntimeActivationPolicy="true"> <supportedRuntime version="v4.0"/> </startup> Dies ist von AutoDesk selbst schon eingetragen, ist aber Standardmäßig noch auskommentiert. An Stelle der Versionsnummer 4.0 kannst Du auch die Vorgängerversionen des Frameworks eintragen. Muß aber mit der Einstellung in Deinem Projekt übereinstimmen. Die Einstellung ist unbedingt für VS2010 erforderlich, wenn Du über Haltepunkte deinen Code beim Debuggen verfolgen willst.
Bei mir funktioniert das alles wunderbar, ob 32 oder 64bit. Allerdings habe ich AutoCAD 2011 laufen. Kann leider nicht mehr prüfen obs bei 2010 auch geht. (Da fällt mir ein, war ACAD2010 eigentlich schon Framework 3.5 oder eher 3.0 - habs vergessen!)
Hast Du die Eigenschaft "Lokale Kopie" von acdbmgd und acmgd auf false gestellt? Könnte auch Probleme machen.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
schmodi Mitglied Metallbaukonstrukteur
Beiträge: 57 Registriert: 20.05.2007 Autodesk Architecural Desktop 2007 Windows XP Professional Version 2002 SP2 Pentium 1.7 MHZ, 1 GB Ram
|
erstellt am: 15. Mai. 2010 09:32 <-- editieren / zitieren --> Unities abgeben:
Hallo Bei den Einstellungen Debuggen Plattform steht bei mir nun Aktiv ( Any CPU) Autocad stürzt bei mir gleich beim starten ab. Die Standartzeichnung sehe ich noch schnell aber nachher ist vorbei. Ich habe nun bemerkt, dass wenn ich autocad selbst starte und dann über Netload die dll starte funktioniert alles. Könnte es sein das meine Applikation welche ich noch drauf habe Probleme machen könnte. Die Applikation heisst Athena 2010. Ja ich habe Lokale Kopie auf False gestellt. Gruss Schmodi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 15. Mai. 2010 10:18 <-- editieren / zitieren -->
Hi, ob es mit der Applikation zu tun hat, kann ich nicht sagen, aber Du kannst ja probieren, ein AutoCAD-Profil einzurichten, welches die Applikation nicht mitlädt. Die Wahrscheinlichkeit halte ich aber für eher gering. Bzgl. Framework 4.0 ==> darf man JA, kann man JA, hier wird's eher spannend, was Applikationen damit machen. Aufwärtskompatibilität von Framework sollte gegeben sein, aber eben die Frage, ob die Applikation mit dieser Einstellung umgehen kann. Darum im VS2010-Projekt auf Framework 3.5 umstellen halte ich für die sicherere Variante (BTW. AutoCAD 2010 lief auch mit Framework 3.5). >> steht bei mir nun Aktiv ( Any CPU)
Yes, das ist die richtige Einstellung, wenn Du 32bit und 64bit untersützen möchtest. Interessanter link zu VS2010 mit AutoCAD könnte >>>dieser hier<<< sein (und wenn ich den lese, dann lieg ich mit meiner Entscheidung zu warten mit dem Umstieg von VS2008 auf VS2010 doch glatt richtig).
- alfred - ------------------ www.hollaus.at |
Wene71 Mitglied
Beiträge: 28 Registriert: 25.04.2010 Win8.1 Pro x64, ACAD 2015, VS 2013
|
erstellt am: 15. Mai. 2010 19:54 <-- editieren / zitieren --> Unities abgeben: Nur für schmodi
Hallo, ich hab nachgeschaut, ja ACAD 2010 wurde mit .NET 3.5 installiert. Natürlich bist Du auf dem sicheren Weg, wenn du auf 3.5 einstellt. Wollte nur mitteilen, das es bei mir mit 4.0 funktioniert und keine Probleme bis jetzt aufgetreten sind. Mit 4.0 hast Du sowieso hier keine Vorteile. Bei VS2010 ist es aber erforderlich den oben beschr. Eintrag in die acad.exe.config einzutragen, damit das Debuggen funktioniert. In Deinem Fall mit v3.5 anstatt 4.0. Dies hat aber nichts damit zu tun daß dein ACAD nicht geladen wird. Hast Du den Deine Buildeinstellungen im Konfigurations-Manager auf Debug gestellt? Las mich raten, du kommst aus der Fassadenbauecke wie ich. Was solltest den sonst auch mit Athena anfagen. Ich glaube nicht das es an Athena liegt. Vielleicht kannst ja ACAD zum testen mal so einstellen, daß Athena nicht mitgeladen wird. Wäre doch gelacht, wenn wir das bei Dir nicht auch zum laufen bringen. Grüßle Werner Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|