| |
| 3D-Druck in der industriellen Produktion, eine Pressemitteilung
|
Autor
|
Thema: vb.net: Ausnahmefehler Die Anwendungsidentität ist nicht festgelegt (4318 mal gelesen)
|
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles...
Beiträge: 2675 Registriert: 06.11.2000 SolidWorks Start 1999 ** CSWP 01/2008 ** ------------------ Zuletzt beruflich: - SWX2020 SP5; - SAP/PLM+ECTR; - DriveWorks Pro; - Programmierung: VBA, aktuell Visual Studio 2022/VB.Net ------------------ ab 2024 (privat): Onshape und anderes
|
erstellt am: 22. Jul. 2014 11:00 <-- editieren / zitieren --> Unities abgeben:
Hallo Experten, ich hab da mal wieder ein mir unverständliches Problem. Eines meiner älteren Progrämmchen (Menü-Editor, s. hier) kann ich nicht mehr so einfach über die Exe-Datei starten. Beim Debuggen des Programms oder beim Klick auf "xy-Programm erstellen" werden ja alle erforderlichen Dateien incl. der ausführbaren Datei im Debug-Verzeichnis erstellt. Das Programm wurde ursprünglich mit VB.net 2008 Express erstellt. Die .exe aus dem Debug-Verzeichnis ließ sich immer starten. Inzwischen bearbeite ich das Programm mit VB.Net 2010 Ultimate. Da ich dieses Programm i.d.R. nur selbst ab und zu nutze, starte ich das eigentlich immer aus der Programmierumgebung heraus, da läuft das einwandfrei. Wenn ich jetzt aber versuche, die Exe-Datei zu starten, bekomme ich den Ausnahmefehler "Die Anwendungsidentität ist nicht festgelegt". Was will mir das sagen? Was kann ich dagegen tun? Ich kann das Programm auch "Veröffentlichen" und das entstandene Setup ausführen, damit läuft es problemlos. Aber warum nicht direkt? Zusatzfrage: Wenn ich im Abschnitt "Kompilieren" als Konfiguration "Release" wähle und als Buildausgabepfad "bin\Release" eingestellt ist, landet das Ergebnis trotzdem im bin\Debug-Verzeichnis .Woran kann denn das liegen?
------------------ Klaus www.al-ko.com | mein Gästebuch Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RSchulz Ehrenmitglied V.I.P. h.c. Head of CAD, Content & Collaboration / IT-Manager
Beiträge: 5541 Registriert: 12.04.2007 @Work Lenovo P510 Xeon E5-1630v4 64GB DDR4 Quadro P2000 256GB PCIe SSD 512GB SSD SmarTeam V5-6 R2016 Sp04 CATIA V5-6 R2016 Sp05 E3.Series V2019 Altium Designer/Concord 19 Win 10 Pro x64
|
erstellt am: 22. Jul. 2014 11:12 <-- editieren / zitieren --> Unities abgeben: Nur für KMassler
|
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles...
Beiträge: 2675 Registriert: 06.11.2000
|
erstellt am: 22. Jul. 2014 13:11 <-- editieren / zitieren --> Unities abgeben:
Ich habe Programme, die sich aus dem Debug-Verzeichnis heraus direkt starten lassen, und andere, bei denen der o.g. Ausnahmefehler auftritt. Ich habe keine Ahnung, wo der Unterschied liegt. Soweit ich das beurteilen kann, sind sämtliche Optionen in beiden Fällen gleich. Seltsam ist auf jeden Fall, dass beim Klick auf den Erstellen-Button immer ins Debug-Verzeichnis kompiliert wird, auch wenn ich- wie oben schon beschrieben- in den Projekteigenschaften bei Kompilieren die Konfiguration "Release" auswähle und bei Buildausgabepfad "bin\Release" steht.
Wo kann/muss ich da noch drehen? ------------------ Klaus www.al-ko.com | mein Gästebuch Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RSchulz Ehrenmitglied V.I.P. h.c. Head of CAD, Content & Collaboration / IT-Manager
Beiträge: 5541 Registriert: 12.04.2007 @Work Lenovo P510 Xeon E5-1630v4 64GB DDR4 Quadro P2000 256GB PCIe SSD 512GB SSD SmarTeam V5-6 R2016 Sp04 CATIA V5-6 R2016 Sp05 E3.Series V2019 Altium Designer/Concord 19 Win 10 Pro x64
|
erstellt am: 22. Jul. 2014 13:16 <-- editieren / zitieren --> Unities abgeben: Nur für KMassler
|
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles...
Beiträge: 2675 Registriert: 06.11.2000
|
erstellt am: 22. Jul. 2014 13:29 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von RSchulz: Worüber erstellst du das Release denn? Also welchen "Knopf" drückst du dafür?
Na über den "Erstellen"-Button "<Programmname> erstellen". Oder über das Menü "Erstellen" --> "<Programmname> erstellen". Aber auch die beim Debuggen erstellte Exe-Datei konnte ich in der Vergangenheit immer direkt starten. Bilde ich mir zumindest ein.
------------------ Klaus www.al-ko.com | mein Gästebuch Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RSchulz Ehrenmitglied V.I.P. h.c. Head of CAD, Content & Collaboration / IT-Manager
Beiträge: 5541 Registriert: 12.04.2007 @Work Lenovo P510 Xeon E5-1630v4 64GB DDR4 Quadro P2000 256GB PCIe SSD 512GB SSD SmarTeam V5-6 R2016 Sp04 CATIA V5-6 R2016 Sp05 E3.Series V2019 Altium Designer/Concord 19 Win 10 Pro x64
|
erstellt am: 22. Jul. 2014 13:35 <-- editieren / zitieren --> Unities abgeben: Nur für KMassler
|
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles...
Beiträge: 2675 Registriert: 06.11.2000
|
erstellt am: 22. Jul. 2014 13:45 <-- editieren / zitieren --> Unities abgeben:
|
RSchulz Ehrenmitglied V.I.P. h.c. Head of CAD, Content & Collaboration / IT-Manager
Beiträge: 5541 Registriert: 12.04.2007 @Work Lenovo P510 Xeon E5-1630v4 64GB DDR4 Quadro P2000 256GB PCIe SSD 512GB SSD SmarTeam V5-6 R2016 Sp04 CATIA V5-6 R2016 Sp05 E3.Series V2019 Altium Designer/Concord 19 Win 10 Pro x64
|
erstellt am: 22. Jul. 2014 13:56 <-- editieren / zitieren --> Unities abgeben: Nur für KMassler
|
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles...
Beiträge: 2675 Registriert: 06.11.2000
|
erstellt am: 22. Jul. 2014 15:43 <-- editieren / zitieren --> Unities abgeben:
|
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles...
Beiträge: 2675 Registriert: 06.11.2000 SolidWorks Start 1999 ** CSWP 01/2008 ** ------------------ Zuletzt beruflich: - SWX2020 SP5; - SAP/PLM+ECTR; - DriveWorks Pro; - Programmierung: VBA, aktuell Visual Studio 2022/VB.Net ------------------ ab 2024 (privat): Onshape und anderes
|
erstellt am: 22. Jul. 2014 15:59 <-- editieren / zitieren --> Unities abgeben:
Ich glaube, ich habs. Ich bin vor einiger Zeit dazu übergegangen, die meisten meiner Programme per ClickOnce zu verteilen. Da hier eine andere Version erzeugt wird, als die Assemblyversion bzw. Dateiversion, habe ich hier die Versionsermittlung geändert. Das heißt jetzt so Code:
If System.Diagnostics.Debugger.IsAttached = False Then Version = My.Application.Deployment.CurrentVersion.ToString & " (Deploy)" Else Version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString & " (Debug)" End If
und genau hier liegt der Hund im Pfeffer bzw. der Hase begraben: Solange ich das in der Entwicklungsumgebung starte, ist alles in Butter, hier wird die Assembly-Version angezeigt mit dem Zusatz "Debug" für mich. Bei der veröffentlichten Version wird die Deployment-Version angezeigt. So. Nur bei der einfach kompilierten und nicht veröffentlichten Version weiß er nichts damit anzufangen. Ich verstehe bis heute nicht, was diese 3 Versionsnummern sollen, das ist für mich völliger Schmarrn. Und leider kann man die nicht synchronisieren. Die Frage ist jetzt, wie fange ich das am sinnvollsten ab? Am einfachsten wäre ein Try...catch. Und dann halt auch die Assembly-Version ausgeben. Code: If System.Diagnostics.Debugger.IsAttached = False Then Try Version = My.Application.Deployment.CurrentVersion.ToString & " (Deploy)" Catch ex As Exception Version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString & " (local)" End Try Else Version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString & " (Debug)" End If
Ja, und dann wäre noch die Frage, warum er die Angabe des Release-Verzeichnisses einfach ignoriert. Aber das ist für mich nebensächlich.
------------------ Klaus www.al-ko.com | mein Gästebuch Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |