Laden...

SharpDevelop

Erstellt von K.I.T.T. vor 19 Jahren Letzter Beitrag vor 19 Jahren 12.194 Views
K
K.I.T.T. Themenstarter:in
42 Beiträge seit 2005
vor 19 Jahren
SharpDevelop

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.

S
127 Beiträge seit 2004
vor 19 Jahren

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.

K
K.I.T.T. Themenstarter:in
42 Beiträge seit 2005
vor 19 Jahren

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.

S
127 Beiträge seit 2004
vor 19 Jahren

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();  
  }
}
}


K
K.I.T.T. Themenstarter:in
42 Beiträge seit 2005
vor 19 Jahren

Moin,
jo, danke, jetzt gehts.

Gruß K.I.T.T.

D
279 Beiträge seit 2004
vor 19 Jahren

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.

K
K.I.T.T. Themenstarter:in
42 Beiträge seit 2005
vor 19 Jahren

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.

M
456 Beiträge seit 2004
vor 19 Jahren

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.

K
K.I.T.T. Themenstarter:in
42 Beiträge seit 2005
vor 19 Jahren

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.

K
K.I.T.T. Themenstarter:in
42 Beiträge seit 2005
vor 19 Jahren

Ich versteh nicht, wieso das nicht geht. Immer kommt: Inputs not specified oder sowas. Wieso?

Gruß K.I.T.T.

K
K.I.T.T. Themenstarter:in
42 Beiträge seit 2005
vor 19 Jahren

Kann mir niemand helfen?

Gruß K.I.T.T.

Y
220 Beiträge seit 2004
vor 19 Jahren

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

P
939 Beiträge seit 2003
vor 19 Jahren

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

K
K.I.T.T. Themenstarter:in
42 Beiträge seit 2005
vor 19 Jahren

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.

Y
220 Beiträge seit 2004
vor 19 Jahren
Look @ this

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

K
K.I.T.T. Themenstarter:in
42 Beiträge seit 2005
vor 19 Jahren

Moin,
wieso ging mein Code denn nicht??

Gruß K.I.T.T.

Y
220 Beiträge seit 2004
vor 19 Jahren

Hi!

Dein Code ist meiner Meinung nach auf Console ausgelegt und NUR
um die NameSpaces erweitert worden.
Da fehlt dann noch einiges

  • Ableitung von WindowsForms
  • InitializeComponent() fehlt (wobei ich nicht weiß wie des in #Dev gelöst ist...)

usw.

Hope this helps,

Yahoo

K
K.I.T.T. Themenstarter:in
42 Beiträge seit 2005
vor 19 Jahren

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.

S
127 Beiträge seit 2004
vor 19 Jahren

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.

D
17 Beiträge seit 2005
vor 19 Jahren

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.

K
K.I.T.T. Themenstarter:in
42 Beiträge seit 2005
vor 19 Jahren

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.

P
939 Beiträge seit 2003
vor 19 Jahren

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.

K
K.I.T.T. Themenstarter:in
42 Beiträge seit 2005
vor 19 Jahren

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.

K
K.I.T.T. Themenstarter:in
42 Beiträge seit 2005
vor 19 Jahren

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.

1.371 Beiträge seit 2004
vor 19 Jahren

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!!! 😁
==============================

K
K.I.T.T. Themenstarter:in
42 Beiträge seit 2005
vor 19 Jahren

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.

K
K.I.T.T. Themenstarter:in
42 Beiträge seit 2005
vor 19 Jahren

Moin,
ich hab es jetzt hinbekommen. Ich habe meine Frage in einem englischsprachigen Forum gestellt.

Gruß K.I.T.T.