C#, VB.NET: Console anhängen und Debugger-Option "Visual Studio-Hostingprozess aktivieren"

    • Allgemein

    Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von Murdoc.

      C#, VB.NET: Console anhängen und Debugger-Option "Visual Studio-Hostingprozess aktivieren"

      Ich hab da einen blöden Effekt entdeckt, reproduziert mit VS2010 und VB2013, in VB und in C#.
      Da das ggf. von allgemeinem Interesse ist, pack ich das zu den Tipps und Tricks rein.
      Folgender einfacher Code:
      Spoiler anzeigen

      VB.NET-Quellcode

      1. Public Class Form1
      2. <DllImport("kernel32", SetLastError:=True)> _
      3. Private Shared Function AllocConsole() As Boolean
      4. End Function
      5. Public Sub New()
      6. AllocConsole()
      7. InitializeComponent()
      8. Console.WriteLine("Konstruktor")
      9. End Sub
      10. End Class

      C#-Quellcode

      1. public partial class Form1 : Form
      2. {
      3. [DllImport("kernel32", SetLastError = true)]
      4. static extern bool AllocConsole();
      5. public Form1()
      6. {
      7. AllocConsole();
      8. InitializeComponent();
      9. Console.WriteLine("Konstruktor");
      10. }
      11. }

      Dies funktioniert im beim Debuggen im Studio nur, so lange diese Checkbox aktiv ist:

      wird sie deaktiviert, bleibt die Console leer.
      Beim Start von der Festplatte, ohne den vsHost-Prozess, funktioniert alles wie gehabt.
      Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
      Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
      Ein guter .NET-Snippetkonverter (der ist verfügbar).
      VB-Fragen über PN / Konversation werden ignoriert!