myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » Grundlagen von C# » Wie kann ich eine externe Dll (wie Mail.dll) einbinden?
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

Wie kann ich eine externe Dll (wie Mail.dll) einbinden?

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
int3g3r
myCSharp.de-Mitglied

Dabei seit: 09.11.2019
Beiträge: 4
Entwicklungsumgebung: Visual Studio 2019


int3g3r ist offline

Wie kann ich eine externe Dll (wie Mail.dll) einbinden?

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Guten Abend,

Ich versuche eine  Mail-Library einzubinden.

1) Ich erstelle ein neues Projekt (WPF-App .Net Framework).
2) Paketmanager-Konsole : "Install-Package Mail.dll -Version 3.0.19162.1801"
3) In den Verweisen ist nun die: "Mail.dll" vorhanden.
4) Ich erstelle eine neue Klasse class1.cs

5) Ich füge die  Referenzen & Namespace ein:

C#-Code:
using Limilabs.Client.IMAP;
using Limilabs.Client.POP3;
using Limilabs.Client.SMTP;
using Limilabs.Mail;
using Limilabs.Mail.MIME;
using Limilabs.Mail.Fluent
using Limilabs.Mail.Headers;

6) Nun kopiere ich den Beispielcode in meine Klasse wie folgt :

C#-Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Limilabs.Client.IMAP;
using Limilabs.Client.POP3;
using Limilabs.Client.SMTP;
using Limilabs.Mail;
using Limilabs.Mail.MIME;
using Limilabs.Mail.Fluent
using Limilabs.Mail.Headers;

namespace WpfApp1
{
  class Class1
  {
      using (Imap imap = new Imap())
      {
        Imap.Connect("imap.server.com");       // or ConnectSSL for SSL
        Imap.UseBestLogin("user", "password");

        imap.SelectInbox();
        List<long> uidList = imap.Search(Flag.Unseen);
        foreach (long uid in uidList)
          {
            IMail email = new MailBuilder()
            .CreateFromEml(imap.GetMessageByUID(uid));

            Console.WriteLine(email.Subject);
            Console.WriteLine(email.Text);
          }
        imap.Close();
      }

  }
}

Warum erhalte ich so viele Fehler die im Bild angezeigt werden ?
Was mache ich falsch ?

Ich habe das gefühl das ich etwas beim Einbinden der DLL falsch mache oder die Namespaces nicht richtig eingebunden sind und daher die Namen nicht richtig erkannt werden. Vielleicht könnte dies jemand nachproduzieren oder Testen ?

Mir ist klar das die List elemente noch nicht vorhanden sind.
Mir geht es nur darum um die "Imap" Namen.

Referenzen & Namespace, Da ich mir nicht sicher bin möchte ich wissen ob ich das richtig verstehe:
Referenzen -> DLL
Namespace -> uses
Ist dies korrekt ?

Mfg Int3g3r

int3g3r hat dieses Bild (verkleinerte Version) angehängt:
Unbenannt.jpg
Volle Bildgröße

11.11.2019 19:16 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
T-Virus T-Virus ist männlich
myCSharp.de-Mitglied

Dabei seit: 17.04.2008
Beiträge: 1.597
Entwicklungsumgebung: Visual Studio, Codeblocks, Edi
Herkunft: Nordhausen, Nörten-Hardenberg


T-Virus ist offline Füge T-Virus Deiner Kontaktliste hinzu

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Ins blaue geschossen, vermutlich weil der Beispielcode veraltet ist und sich die API der Lib schon lange stark geändert hat.

Oder du verwendest irgendwelche Namespaces die Kollisionen verursachen, was zu den Fehlern führt.
Hier per Copy und Paste einfach Code kopieren und dann die Probleme nicht lösen können, sieht erst einmal nach einem schnell Schuss ohne Überlegung aus :/
Und zu den Grundlagen gehört dies eher weniger, da du hier Code Beispiele von der Seite verwendest ohne scheinbar die Dokumentation gelesen zu haben.

 Doku

Nachtrag:
Die einzigen beiden Namespaces die du für das Beispiel brauchst sind diese beiden, alle anderen kannst du wieder rauswerfen, da diese die Kollissionen verursachen.

C#-Code:
using Limilabs.Client.IMAP;
using Limilabs.Mail;

T-Virus

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von T-Virus am 11.11.2019 19:34.

11.11.2019 19:32 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
int3g3r
myCSharp.de-Mitglied

Dabei seit: 09.11.2019
Beiträge: 4
Entwicklungsumgebung: Visual Studio 2019

Themenstarter Thema begonnen von int3g3r

int3g3r ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Zitat von T-Virus:
Nachtrag:
Die einzigen beiden Namespaces die du für das Beispiel brauchst sind diese beiden, alle anderen kannst du wieder rauswerfen, da diese die Kollissionen verursachen.

C#-Code:
using Limilabs.Client.IMAP;
using Limilabs.Mail;

Habe ich bereits getestet. Dies ändert nichts.
Daher gehe ich davon aus das es veraltete Beispiele sind und diese nicht mehr mit der API übereinstimmen.

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von int3g3r am 11.11.2019 19:54.

11.11.2019 19:53 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
T-Virus T-Virus ist männlich
myCSharp.de-Mitglied

Dabei seit: 17.04.2008
Beiträge: 1.597
Entwicklungsumgebung: Visual Studio, Codeblocks, Edi
Herkunft: Nordhausen, Nörten-Hardenberg


T-Virus ist offline Füge T-Virus Deiner Kontaktliste hinzu

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

@int3g3r
Ich habe gerade in einem Test Projekt den Beispielcode genommen und nur die beiden Namespaces reingepackt nachdem Visual Studio diese empfohlen hatte.
Gab 0 Fehler beim kompilieren, ausgeführt habe ich den Code aber nicht.
Wenn du noch Fehler beim kompilieren hast, hast du die anderen Namespaces (usings) nicht entfernt.

Nachtrag:
Du solltest den Beispiel Code auch in eine Methode packen, sonst ist es kein Wunder, dass es Fehler gibt...
Falls du nicht weißt wie das geht, solltest du dich auf anderen Wege mit dem Grundlagen beschäftigen!
Fang hier lieber etwas kleiner an mit einer Konsolenanwendung, WPF ist hier keine Anfängertechnologie.
Dann solltest du dich mit den Grundlagen von Klassen, Methoden und generell mit C# beschäftigen.
Gibt auch mit den OpenBooks eine gute Anlaufstelle.
Links findest du Links im Menü unter openbooks!

T-Virus

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von T-Virus am 11.11.2019 20:31.

11.11.2019 20:26 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Abt
myCSharp.de-Team

avatar-4119.png


Dabei seit: 20.07.2008
Beiträge: 14.187
Herkunft: Stuttgart/Stockholm


Abt ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

11.11.2019 20:30 Beiträge des Benutzers | zu Buddylist hinzufügen
T-Virus T-Virus ist männlich
myCSharp.de-Mitglied

Dabei seit: 17.04.2008
Beiträge: 1.597
Entwicklungsumgebung: Visual Studio, Codeblocks, Edi
Herkunft: Nordhausen, Nörten-Hardenberg


T-Virus ist offline Füge T-Virus Deiner Kontaktliste hinzu

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

@Abt
Ich habe hier auch etwas gepennt.
Den Beispielcode hat er in eine leere Klasse ohne Methode kopiert, was im Screenshot zu sehen ist.

T-Virus
11.11.2019 20:32 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als 10 Monate.
Der letzte Beitrag ist älter als 10 Monate.
Antwort erstellen


© Copyright 2003-2020 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 23.09.2020 18:16