locked
Anfaenger - Fehlermeldung beim Ausführen RRS feed

  • Frage

  • Guten Morgen liebe Community,

    ich möchte mich mit Visual C# auseinandersetzen. Dazu habe mir ein Buch gekauft und versuche die Programmierung zu lernen. In dem ersten Beispiel gilt es einen Button zu drücken um dann eine Rückmeldung zu bekommen (OK oder Ende). Eigentlich völlig wurscht und ich will Euch nicht langweilen. Ich habe die Visual Studio 2019 Community Version installiert. Und wenn ich jetzt dieses kleine Programm ausführen will, dann kommt folgende Fehlermeldung:

    Es ist ein Fehler aufgetreten... Weiter ausführen (Ja/Nein) <-- Ich darf bis zur Kontoprüfung noch keine Bilder einfügen.

    Drücke ich dann "Ja" kommt folgende Fehlermeldung:

    Visual Studio kann das Debugging nicht starten, da das Debugziel "C:\Users\Lucky\Source\repos\MeinErstes\bin\Debug\MeinErstes.exe" nicht vorhanden ist. Erstellen Sie das Projekt, und wiederholen Sie den Vorgang, oder legen Sie die OutputPath- und AssemblyName-Eigenschaft auf den richtigen Speicherort für das Zielassembly fest.

    Ich bin mit einem Projekt erstellen - gestartet.

    Irgendwie vermute ich, dass ich etwas nicht installiert habe oder die Verzeichnisse nicht richtig gesetzt sind. Jemand einen Idee oder einen Tipp für mich? 

    Das letzte mal das ich programmiert habe war unter Turbo Pascal und da war das einfach... Hihi.

    Freue mich über Eure Hilfe. Danke Community.

    LuckyKvD

    Sonntag, 2. Juni 2019 08:06

Antworten

  • Hi,
    mit dem Bezeichner "LblAnzeige" nutzt Du eine Eigenschaft vom Typ "Object". Und der Typ "Object" hat keine eigene Eigenschaft vom Typ "Text".

    Anhand der Bezeichnung LblAnzeige sollte der Typ vermutlich "Label" sein, also:

            public Label LblAnzeige { get; private set; }
    
            public Form1()
            {
                InitializeComponent();
            }
    
            private void CmdHallo_Click(object sender, EventArgs e)
            {
                LblAnzeige.Text = "Hallo";
            }
    

    Dabei ist aber unklar, was dieser Algorithmus bewirken soll. Wenn "LblAnzeige" zur Darstellung in der Oberfläche genutzt werden soll, dann muss der Verweis auch der Controls-Auflistung der Form zugewiesen werden z.B. so:

            public Label LblAnzeige = new Label() {Dock = DochStyle.Top};
    
            public Form1()
            {
                InitializeComponent();
                thsi.Controls.Add(LblAnzeige);
            }
    
            private void CmdHallo_Click(object sender, EventArgs e)
            {
                LblAnzeige.Text = "Hallo";
            }
    


    --
    Best Regards / Viele Grüße
    Peter Fleischer (former MVP for Developer Technologies)
    Homepage, Tipps, Tricks

    Montag, 3. Juni 2019 02:52

Alle Antworten

  • Hi,

    deine Anwendung hat noch Fehler, daher schlägt der Kompilierungsvorgang fehl. Lass dir diese mal über "Ansicht" -> "Fehlerliste" anzeigen.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
    https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport

    Sonntag, 2. Juni 2019 09:38
    Moderator
  • Hallo,

    stimmt. Schaue mal das Programm an:

    using System;
    using System.Windows.Forms;

    namespace MeinErstes
    {
        public partial class Form1 : Form
        {
            public object LblAnzeige { get; private set; }

            public Form1()
            {
                InitializeComponent();
            }

            private void CmdHallo_Click(object sender, EventArgs e)
            {
                LblAnzeige.Text = "Hallo";
            }

            private void CmdEnde_Click(object sender, EventArgs e)
            {
                /* Diese Anweisung beendet
                   das Programm */
                Close();
            }
        }
    }

    Fehlermeldung:

    Schweregrad Code Beschreibung Projekt Datei Zeile Unterdrückungszustand
    Fehler CS1061 "object" enthält keine Definition für "Text", und es konnte keine zugängliche Text-Erweiterungsmethode gefunden werden, die ein erstes Argument vom Typ "object" akzeptiert (möglicherweise fehlt eine using-Direktive oder ein Assemblyverweis). MeinErstes C:\Users\Lucky\source\repos\MeinErstes\MeinErstes\Form1.cs 17 Aktiv

    Laut Lehrbuch - ist alles richtig. Himmel was mach ich bloß falsch?

    LuckyKvD

    Sonntag, 2. Juni 2019 20:01
  • Hi,
    mit dem Bezeichner "LblAnzeige" nutzt Du eine Eigenschaft vom Typ "Object". Und der Typ "Object" hat keine eigene Eigenschaft vom Typ "Text".

    Anhand der Bezeichnung LblAnzeige sollte der Typ vermutlich "Label" sein, also:

            public Label LblAnzeige { get; private set; }
    
            public Form1()
            {
                InitializeComponent();
            }
    
            private void CmdHallo_Click(object sender, EventArgs e)
            {
                LblAnzeige.Text = "Hallo";
            }
    

    Dabei ist aber unklar, was dieser Algorithmus bewirken soll. Wenn "LblAnzeige" zur Darstellung in der Oberfläche genutzt werden soll, dann muss der Verweis auch der Controls-Auflistung der Form zugewiesen werden z.B. so:

            public Label LblAnzeige = new Label() {Dock = DochStyle.Top};
    
            public Form1()
            {
                InitializeComponent();
                thsi.Controls.Add(LblAnzeige);
            }
    
            private void CmdHallo_Click(object sender, EventArgs e)
            {
                LblAnzeige.Text = "Hallo";
            }
    


    --
    Best Regards / Viele Grüße
    Peter Fleischer (former MVP for Developer Technologies)
    Homepage, Tipps, Tricks

    Montag, 3. Juni 2019 02:52
  • Hallo und herzlichen Dank,

    habe den Fehler gefunden und wurschtel mich jetzt weiter durch.

    LuckyKvD

    Dienstag, 4. Juni 2019 20:28