Moin,
ich bin neu hier und hab lange nach einer Alternative zu Visual Studio .NET gesucht (sau teuer) - und gefunden. Ich hab SharpDevelop und auch schön brav vorher die ganzen .NET Sachen installiert. Jetzt hab ich ein Problem (wie sollte es auch anders sein gg): Zum Testen hab ich mal einen Code in SD kopiert und dann bin ich auf "debuggen" und dann auf "Ausführen" gegangen. Aber dann krieg ich immer folgende Fehlermeldung:
<code>
------ Erstelle Projekt: Test Konfiguration: Debug ------
Starte Hauptkompilierung...
fatal error CS2008: No inputs specified
Abgeschlossen -- 1 Fehler, 0 Warnungen
------------------------ Fertig ------------------------
Erstellen: 0 erfolgreich, 1 fehlgeschlagen
------ Erstelle Projekt: Test Konfiguration: Debug ------
Starte Hauptkompilierung...
fatal error CS2008: No inputs specified
Abgeschlossen -- 1 Fehler, 0 Warnungen
------ Erstelle Projekt: Test Konfiguration: Debug ------
Starte Hauptkompilierung...
fatal error CS2008: No inputs specified
Abgeschlossen -- 1 Fehler, 0 Warnungen
------ Erstelle Projekt: Test Konfiguration: Debug ------
Starte Hauptkompilierung...
fatal error CS2008: No inputs specified
Abgeschlossen -- 1 Fehler, 0 Warnungen
------ Erstelle Projekt: Test Konfiguration: Debug ------
Starte Hauptkompilierung...
fatal error CS2008: No inputs specified
Abgeschlossen -- 1 Fehler, 0 Warnungen
</code>
Was hab ich falsch gemacht?
Danke im Forum.
Gruß K.I.T.T.
Also ich gehe mal davon aus das Sharpdevelop schon ordentlich läuft. Es wäre von Vorteil, wenn du den Code posten könntest. Weil so sagt das relativ wenig aus.
Es ist ein Fehler vom Code, es gibt in Sharpdevelop ein Fenster "Aufgaben" dort steht dann auch eine Fehlerbeschreibung drin. Ein Doppelklick auf diese führt dich auch zu der fehlerhaften Stelle Code.
Moin,
das ist der Code, den ich kopiert habe:
public class ErstesProgramm
{
public static void Main()
{
System.Console.WriteLine("Mein erstes C#-Programm!");
}
}
Aber ich denke, dass der Code in Ordnung ist und ich vielleicht bei SD irgendeine Einstellung vergessen habe??
Gruß K.I.T.T.
Eine Konsolenanwendung braucht eine
"static void Main(string[] args)"
dies ist wichtig da man sonst keine Parameter der Anwendung übergeben kann.
Aber Sharpdevelop sollte doch dar alles Richtig anlegen.
Datei -> Neue -> Combie
Dann kannst du dir aussuchen was du haben willst.
hier ist dein Code korriegiert
using System;
namespace ErstesProgramm
{
/// <summary>
/// Zusammendfassende Beschreibung für Class1.
/// </summary>
class ErstesProgramm
{
/// <summary>
/// Der Haupteinstiegspunkt für die Anwendung.
/// </summary>
[STAThread]
static void Main(string[] args)
{
System.Console.WriteLine("Mein erstes C#-Programm!");
/// Damit du deinen Erfolg auch geniesen kannst ;)
System.Console.WriteLine("Weiter mit Enter");
System.Console.ReadLine();
}
}
}
Noch eine kleine Anmerkung zu VS:
Falls du es mal testen willst und es nicht zu Produktionszwecken benutzen willst, bekommst du bei MS die Beta-Version von Visual Studio 2005 umsonst zum Download oder auch für 5€ auf DVD zugeschickt.
Moin,
danke für den Hinweis. Aber ich habe noch eine Frage: Ich möchte kein Konsolenprogramm machen. Ich möchte eine Windows-Applikation erstellen. Also wähle ich zu Anfang "Windows Programm" oder sowas ähnliches. Gibt es dann spiezelle Befehle, die ich eingeben muss, damit er erkennt, dass es keine Konsolenanwendung, sondern eine Windowsanwenung werden soll?
Danke im Voraus.
Gruß K.I.T.T.
Brauchst du nicht. Wenn du eine Win-Anwendung auswählst, dann wird dein Code nur mit einem anderem Compilerschalter compiliert, als bei der Konsolenanwendung.
Die Schalter kann man in den Projekteinstellungen ändern.
I am Jack's smirking revenge.
I am Jack's raging bile duct.
I am Jack's cold sweat.
I am Jack's complete lack of surprise.
I am Jack's broken heart.
I am Jack's wasted life.
Moin,
irgendwie klappt das bei mir nicht. Kann mir mal bitte einer von Anfang an erklären, wie ich eine Windows-Anwendung schreibe?
Gruß K.I.T.T.
Ich versteh nicht, wieso das nicht geht. Immer kommt: Inputs not specified oder sowas. Wieso?
Gruß K.I.T.T.
Hi!
Vielleicht mal nach der genauen Fehlermeldung googeln, und dann ggf. posten.
Vielleicht hilft auch eine Neuinstallation von #Develop.
Bitte aber erst meinen ersten Vorschlag testen.... 😉
Yahoo
Die Fehlermeldung CS2008 bedeutet, dass der Compiler csc ohne die Angabe von Quelldateien aufgerufen wurde. Du hast wahrscheinlich kein Projekt angelegt. Einfach ne cs-Datei in #Develop neu anlegen oder öffnen, reicht nicht.
public static void Main() {}
als Entry-Point anzugeben, ist in Ordnung.
.Net erkennt verschiedene Signaturen der Main-Methode, z.B.:
static void Main();
static int Main();
static int Main(string[] args)
Wichtig ist, dass Main statisch ist.
Gruss
Pulpapex
Moin,
danke für die Antworten. Aber ich hab einen Code kopiert, wo static void main drin war. Wieso funktioniert dieser Code dann nicht:
using System;
using System.Drawing;
using System.Windows.Forms;
public class HalloWelt;
{
public static void Main();
{
MessageBox.Show("Hallo Welt!");
}
}
Ursprünglich war er so:
using System;
using System.Drawing;
using System.Windows.Forms;
public class HalloWelt
{
public static void Main()
{
MessageBox.Show("Hallo Welt!");
}
}
Ich habe Leeres Projekt ausgewählt.
Gruß K.I.T.T.
Hi!
Ich hab das mal mit VS gemacht: (Einache leere Form)
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
namespace WindowsApplication2
{
/// <summary>
/// Zusammenfassung für Form1.
/// </summary>
public class Form1 : System.Windows.Forms.Form
{
/// <summary>
/// Erforderliche Designervariable.
/// </summary>
private System.ComponentModel.Container components = null;
public Form1()
{
//
// Erforderlich für die Windows Form-Designerunterstützung
//
InitializeComponent();
//
// TODO: Fügen Sie den Konstruktorcode nach dem Aufruf von InitializeComponent hinzu
//
}
/// <summary>
/// Die verwendeten Ressourcen bereinigen.
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region Vom Windows Form-Designer generierter Code
/// <summary>
/// Erforderliche Methode für die Designerunterstützung.
/// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden.
/// </summary>
private void InitializeComponent()
{
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(292, 273);
this.Name = "Form1";
this.Text = "Form1";
this.Load += new System.EventHandler(this.Form1_Load);
}
#endregion
/// <summary>
/// Der Haupteinstiegspunkt für die Anwendung.
/// </summary>
[STAThread]
static void Main()
{
Application.Run(new Form1());
}
private void Form1_Load(object sender, System.EventArgs e)
{
}
}
}
Hope this helps
Yahoo
Hi!
Dein Code ist meiner Meinung nach auf Console ausgelegt und NUR
um die NameSpaces erweitert worden.
Da fehlt dann noch einiges
usw.
Hope this helps,
Yahoo
Moin,
ok, danke für die Antworten, also muss ich doch zusätzliche Sachen schreiben, für eine Windowsanwendung. Ich werde mich mit C# am WE intensiv beschäftigen.
Gruß K.I.T.T.
Hallo K.I.T.T. ,
vielleicht hilft dir das weiter Sharp Develop Tutorials von wiki.sharpdevelop.net es gibt diese Tutorials auch in deutsch musst mal googlen dann findest du schon was.
@Pulpapex
oh das wusste ich auch nicht das .Net da mehr unterstützt, bin da wohl ein bisschen von Java ausgegangen.
Auf der Seite http://lab.msdn.microsoft.com/express/default.aspx kann man die Express Version vom Visual Studio runterladen, kostenlos.
Wenn es erst mal um das Erlernen von C# geht ist das vielleicht hilfreich 😉 Und wenn man später Geld damit verdienen möchte, dann kann man immer noch das Visual Studio kaufen.
Moin,
also danke für die Antworten, komme langsam rein. Aber trotzdem noch eine, hoffentlich letzte Frage: Wenn ich Konsolenanwendung schreibe, kann ich ja diesen Code hier nehmen:
public class ErstesProgramm
{
public static void Main()
{
System.Console.WriteLine("Mein erstes C#-Programm!");
}
}
Aber wenn ich leere Anwendung anklicke, müsste das doch eigentlich auch gehn, tut es aber nicht. Ich meine nähmlich, dass wenn ich "Leere Anwendung" auswähle, dass ich entscheide, ob es eine Windowsanwendung ist oder eine Konsolenanwendung. Das ist aber nicht der Fall. Also ist "Leere Anwendung" NUR Windows. Hab ich das richtig verstanden?
Gruß K.I.T.T.
Ob ein Programm eine Konsole anzeigt oder nicht, kann in den Projekt-Einstellungen geändert werden. Auch eine Fenster-Anwendung kann eine Konsole haben. Musst mal bisschen suchen, die Einstellung müsste bei den Compiler-Optionen sein.
Moin,
ich hab ein Problem und zwar kann ich die Ausgabebox nicht mehr sehen. Ich hab sie einmal kurz runtergezogen und jetzt, wenn ich das Programm starte, kommt diese Box nicht mehr, mist! Ich hab eigentlich alles versucht, um sie wieder einbenden zu lassen. Kann mir mal wieder jemand helfen?
Danke im Voraus.
Gruß K.I.T.T.
Moin,
ich hab das nochmal installiert, jetzt kann ich auch schon die Programme laufen lassen, aber das Ausgabefenster erscheint immer noch nicht. Hatte nicht schon mal jemand auch so ein Problem?
Gruß K.I.T.T.
Setz mal ein Console.ReadLine();
ganz unten rein, dann wartet er bist du eine Eingabe machst, bevor er das Fenster schließt. Vielleicht geht es nur so schnell auf und zu, dass du es nicht siehst.
==============================
Wenn ichs wüsst', würd' ich nicht fragen!!! 😁
==============================
Moin,
nein, das mein ich nicht. wenn man jetzt z.B. Fehler macht, bekommt man das in einem neuen Fenster mitgeteilt. Dieses Fenster ist leider verschwunden.
Gruß K.I.T.T.
Moin,
ich hab es jetzt hinbekommen. Ich habe meine Frage in einem englischsprachigen Forum gestellt.
Gruß K.I.T.T.