2017-06-16 5 views
0

Ich versuche, MailKit dll als Assembly in Powershell zu verwenden, aber es gibt keine Möglichkeit, es funktioniert. Ich habe mit add-type und mit [System.Reflection.Assembly] Methoden ohne Erfolg versucht. Der Link zu mailkit Bibliothek:Loading MailKit DLL als Assembly in Powershell

https://github.com/jstedfast/MailKit

Mit dieser Methode:

$path="$HOME\.nuget\packages\mailkit\1.16.1\lib\net451\MailKit.dll" 
    [System.Reflection.Assembly]::LoadFile($path) 

Ther ist nicht auf die Anordnung im Speicher verweisen. Mit dieser Methode:

Add-Type -Path $path 

dies ist der Fehler:

  • Add-Type -Path $path
  • ~~~~~~~~~~~~~~~~~~~~
    • CategoryInfo : NotSpecified: (:) [Add-Type], ReflectionTypeLoadException
    • FullyQualifiedErrorId : System.Reflection.ReflectionTypeLoadException,Microsoft.PowerShell.Commands.AddTypeCommand

Dank

Daniele

+1

Veröffentlichen Sie den tatsächlichen Code, den Sie verwenden, die Fehlermeldung (en) und wie Sie die DLL installiert haben. Die Leute hier können nicht erraten, was Sie getan haben/tun. – alroc

Antwort

1

Überprüfen Sie den Pfad. Für mich funktioniert gut mit dem absoluten Pfad in $MailKitDllPath:

Add-Type -Path $MailKitDllPath 
    $client = New-Object MailKit.Net.Smtp.SmtpClient 
0

Ich habe festgestellt, dass MailKit einen Verweis auf MimeKit dll hatte, aber es gibt keine Fehler beim Laden MailKit.dll, so ist es notwendig, MimeKit.dll zu laden ebenfalls.

[System.Reflection.Assembly]::LoadFile("$home\.nuget\packages\MailKit\1.16.1\lib\net451\MailKit.dll") 
[System.Reflection.Assembly]::LoadFile("$home\.nuget\packages\mimekit\1.16.1\lib\net451\MimeKit.dll") 
+0

Zuerst habe ich versucht, alle Abhängigkeiten mit '[System.Reflection.Assembly] :: LoadFile()' zu laden. Aber mit Add-Type funktionierte es, ohne dass einer von ihnen geladen wurde. –

+0

Dies ist mein $ PSVersionTable: PSVersion 5.1.15063.413 PSEdition Desktop – dvjz