mabue88

C-Sharp - vshost32.exe funkioniert nicht mehr

Hallo,

ich habe eine Velleman K8055 USB-Interfacekarte. Sie kann über eine DLL in eigene Programme eingebunden werden, um die digitalen und analogen Ein- und Ausgänge zu steuern bzw. einzulesen.

Grundsätzlich funktioniert das auch. Für erste Tests habe ich eine einfache Konsolenanwendung erstellt. Die DLL habe ich in die Projektverweise aufgenommen.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using System.Runtime.InteropServices;

namespace VellemanK8055
{
    class Program
    {
        [DllImport("K8055D.DLL")]  
        public static extern int OpenDevice(int addr);
        [DllImport("K8055D.DLL")]  
        public static extern void CloseDevice();
        [DllImport("K8055D.DLL")]  
        public static extern void ClearAllDigital();
        [DllImport("K8055D.DLL")]  
        public static extern void SetAllDigital();

        static void Main(string args)
        {
            K8055.OpenDevice(0);

            Program.SetAllDigital();
            System.Threading.Thread.Sleep(1000);
            Program.ClearAllDigital();

            Program.CloseDevice();

            Console.WriteLine("Fertig, Enter drücken...");  
            Console.ReadLine();
        }
    }
}

Das Programm läuft sauber durch. Um das Programm zu muss ich ENTER drücken. Anschließend kommt die Fehlermeldung
vshost32.exe funktioniert nicht mehr

Das Ganze passiert aber nur, wenn ich das Programm im Debug-Mode ausführe. Starte ich die Programm-EXE direkt (ohne Visual Studio), wird das Programm korrekt beendet.

Hat jemand einen Idee, durch was die Fehlermeldung hervorgerufen wird?
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 253512

Url: https://administrator.de/forum/c-sharp-vshost32-exe-funkioniert-nicht-mehr-253512.html

Ausgedruckt am: 30.04.2025 um 02:04 Uhr

colinardo
Lösung colinardo 31.10.2014, aktualisiert am 01.11.2014 um 09:24:01 Uhr
Goto Top
Hallo mabue,
geh mal in die Projekteigenschaften > Debug und nehme das Häkchen bei "Enable Visual Studio hosting process" raus, das hilft in den meisten Fällen bei solchen Problemen die auftreten können wenn man mit unmanged DLLs hantiert. Zusätzlich in den Projekteigenschaften sicherstellen das unter CPU x86 ausgewählt ist.

Zusätzlich solltest du deinen Code zur Sicherheit auch auch in Try-Catch Blocks stecken.

Grüße Uwe
mabue88
mabue88 01.11.2014 um 09:23:57 Uhr
Goto Top
Hallo colinardo,

nach dem Deaktivieren von "Enable Visual Studio hosting process" in den Projekteigenschaften kommt die Fehlermeldung nicht mehr.

Jetzt habe ich allerdings noch ein anderes Problem. Vermutlich hängt das mit Threads zusammen. Aber dafür erstelle ich ein neues Thema.

Danke
Gruss
mabue