2017-06-16 231 views
0

PowershellでアセンブリとしてMailKit dllを使用しようとしていますが、動作する方法はありません。 私はadd-typeと[System.Reflection.Assembly]メソッドで成功していませんでした。 mailkitライブラリへのリンク:PowershellにアセンブリとしてMailKit DLLをロードする

https://github.com/jstedfast/MailKit

この方法では:

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

THERがメモリにアセンブリに参照されていません。

Add-Type -Path $path 

、これは誤りです:

ダニエル

+1

使用している実際のコード、エラーメッセージ、およびDLLのインストール方法を投稿してください。ここの人々はあなたがやっていることを推測することはできません。 – alroc

答えて

1

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

おかげでパスを確認してください。この方法で

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

私はMailKitがMimeKit DLLへの参照を持っていたことを発見しましたが、エラーローディングMailKit.dllがないので、MimeKit.dllをロードする必要があります:私にとって$MailKitDllPathに絶対パスでうまく動作しますまた、

[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

まず、[System.Reflection.Assembly] :: LoadFile()ですべての依存関係をロードしようとしました。しかし、Add-Typeでは、それらをロードせずに機能しました。 –

+0

これは$ PSVersionTableです: PSVersion 5.1.15063.413 PSEditionデスクトップ – dvjz

関連する問題