DLL mit C# Express erstellen und einbinden


  • Administrator

    Du hast eine Frage nicht beantwortet: Weisst du was öffentliche Methoden sind?
    Oder ich frage mal etwas direkter: Von wem alles ist die Methode test in DLLClass sichtbar?

    Grüssli



  • marccore schrieb:

    [...]nur ich kann nicht so hämische Kommentare vertragen.[...]

    Das war kein hämischer Kommentar, sondern eine Einschätzung deiner Fähigkeiten aus meiner Sicht.

    Dein Problem sollte, sofern du alle hier im Thread genannten Punkte umgesetzt hast, keines mehr sein. Und da wir uns dein Projekt nicht ansehen können, benötigen wir Details.

    Gib uns mal einen Abris über deine Projektstruktur (Welche Dlls? Welche Klassen? Wo befinden sich diese? etc.)



  • Sorry ich meinte nicht dich mit dem hämischen Kommentar.

    qweasdyxcgerwtwret schrieb:

    Wo lernen die Leute sowas nur immer wieder? 😕

    marccore schrieb:

    int test(int x, int y)
    {
    	int output;
    	output = x * y;
    	return output;
    }
    

    -> return x*y;

    Aber ich werde es umsetzten



  • Also es ist sehr einfach..
    Ich wollte mit dem Programm nur einmal den Testzugriff auf eine DLL machen.
    
    Ich möchte in meinem Programm:
    
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using TestDLL;
    
    namespace DLL_Aufruf
    {
    
            public partial class fmDLL : Form
            {
                public fmDLL()
                {
                    InitializeComponent();
    
                }
    
                private void buEINLESEN_Click(object sender, EventArgs e)
                {
    
                   TestDLL.DLLClass dllclass = new TestDLL.DLLClass();
    
                }
            }    
    }
    

    auf die Methode test von Klasse DLLClass zugreifen:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace TestDLL
    {
        public class DLLClass
        {
            int test(int x, int y)
            {             
              return x * y;
            }
    
        }
    }
    

    Ich kriege aber immer den Fehler:

    Fehler 1 "TestDLL.DLLClass" enthält keine Definition für "test", und es konnte keine Erweiterungsmethode "test" gefunden werden, die ein erstes Argument vom Typ "TestDLL.DLLClass" akzeptiert. (Fehlt eine Using-Direktive oder ein Assemblyverweis?) C:\Users\Tei644\documents\visual studio 2010\Projects\DLL_Aufruf\DLL_Aufruf\Form1.cs 27 25 DLL_Aufruf



  • Zum Wiederholen:

    Dravere schrieb:

    Du hast eine Frage nicht beantwortet: Weisst du was öffentliche Methoden sind?



  • Ja weiß ich trotz:

    public class DLLClass
        {
            public int test(int x, int y)
            {             
              return x * y;
            }
    
        }
    

    ist sie nicht bekannt.



  • asc schrieb:

    Zum Wiederholen:

    Dravere schrieb:

    Du hast eine Frage nicht beantwortet: Weisst du was öffentliche Methoden sind?

    Ja weiß ich, ich bin zwar ein Anfänger aber ich denke schon



  • So es läuft, trozdem nochmals danke für die Hilfe



  • Hey Leute falls ihr wissen wolt was falsch war.

    Ich Idiot habe einfach die aktualisierte DLL nicht im Debug Ordner gehabt.
    Sondern nur die ältere mit anderen Methoden.



  • marccore schrieb:

    Ich Idiot habe einfach die aktualisierte DLL nicht im Debug Ordner gehabt.
    Sondern nur die ältere mit anderen Methoden.

    Gegenfrage: Handelt es sich um komplett getrennt entwickelte Projekte?

    Ansonsten würde ich diese Projekte in eine Solution packen, dann wird auch bei gesetzter Referenz auch immer die richtige DLL herangezogen (und bei bedarf auch die abhängigen Projekte nochmals neu übersetzt).


Anmelden zum Antworten