mabue88
Goto Top

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?

Content-Key: 253512

Url: https://administrator.de/contentid/253512

Printed on: April 25, 2024 at 06:04 o'clock

Member: colinardo
Solution colinardo Oct 31, 2014, updated at Nov 01, 2014 at 08:24:01 (UTC)
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
Member: mabue88
mabue88 Nov 01, 2014 at 08:23:57 (UTC)
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