dll erstellen?

xtremeripper

Grünschnabel
Hi

Ich wollte fragen, was ich falsch mache.
Als erster hab ich eine neue Konsolenanwendung erstellt, um zu testen, ob das was ich dann in der dll hab auch funktioniert.
Das sieht so bei mir aus:
Code:
using System;
using Funktionen;

namespace dll
{
	class start
	{
		[STAThread]
		static void Main(string[] args)
		{
			int a=4, b=2;
         			int x = Rechenarten.Addieren(a,b);
			Console.WriteLine(x);
			Console.ReadLine();
		}
	}
}
Dann hab ich ein neues Projekt für meine Funktionen erstellt, das sieht so aus:
Code:
using System;

namespace Funktionen
{
	public class Rechenarten
	{
		public static int Addieren(int a, int b)
		{
			return a+b;
		}
	}
}
Und nun will ich die Funktion in eine dll speichern und zwar hab ich überall gelesen, dass das mit der befehlszeile gehen soll: csc /target:library /out:Funktionen.dll Rechenarten.cs

Nur wenn ich das ins Befehlsfenster eingebe schreibt er mir, das der Befehl "csc" ungültig ist.
Ich hoffe ihr könnt mir helfen.

Mfg
XtremeRipper
 
Vermutlich fehlt dir in der Environment-Variable PATH der Pfad zum .NET Framework. Und daher findet er auch den CSC nicht.

Und wieso nimmst zb nicht #Develop oder Visual Studio?
 
Ich habe eh beim erstellen "Klassenbibliothek" ausgewählt, aber da macht er mir auch nur ein .cs file.

Wie kann ich den Framework pfad hinzufügen?

/edit: Ich verwende Visual Studio .Net 2003, aber geht das bei zb. SharpDevelop einfacher eine dll zu erstellen?
 
Zuletzt bearbeitet:
Wenn du das Visual Studio verwendest, dann kompiliers im Visual Studio. Du brauchst keinen CSC.

Wie du das ganze jetzt machst?

Nun ein Projekt als Klassenbibliothek. Klarerweise hast du dort ein .cs File drinnen. Wird dieses kompiliert wird eine DLL daraus erstellt.

Ein zweites Projekt (ja, mehrere Projekte in einer Solution funktionieren) wird dann eine Testanwendung, das kann eine Windows-Forms-Anwendung sein, oder eben eine Konsolenanwendung. Und diese verwendet eben deine Klassenbibliothek. Du setzt einfach einen Verweis auf dein Klassenbibliothek-Projekt und dann kannst deine Klasse eben verwenden.
 
Aja, er erstellt mir im Debug Ordner eine .dll, sry meine schuld darauf hätte ich früher kommen können.
vielen dank für die Hilfe
 
da ich gerade vor einem ähnlichen Problem stehe, schreib ich mal hier weiter:

jetzt hab ich meine .dll-Datei erfolgreich erstellt.
in einem anderen Projekt will ich diese .dll "usen". Wie schreib ich das? einfach

using MyClass ?

woher weis der Compiler wo die Datei sich befindet? Pfadangabe oder ähnliches erforderlich? Oder muss man diese Datei irgendwohin kopieren?

Danke

PS: benutze VS 2003 Pro..
 
Du solltest die .dll in dein Bin verzeichnis kopieren und dann über Verweis hinzufügen die dll ansprechen. Und dann einfach im Quellcode:

myClass mc = new myClass();
mc.SchlagMichTot(); //Funktionsaufruf

mfg Nail
 
und wenn die Classen sich in einem namespace befinden?

Mynamespace.MyClass mc = new Mynamespace.MyClass(); ?

PS: Wie schaut dieser Verweis aus?
 
Zuletzt bearbeitet:
Zurück