2016-08-17 54 views
2

私はこのエラーを取得していますが、VS2015エラー:ファイルまたはアセンブリをロードできませんでした「DocumentFormat.OpenXml、

追加情報です:ファイルまたはアセンブリ をロードできませんでした」DocumentFormat.OpenXml、バージョン= 2.5.5631.0 、Culture =ニュートラル、 PublicKeyToken = 31bf3856ad364e35 'またはその依存関係の1つ。アセンブリのマニフェスト定義の がアセンブリ の参照と一致しません。 (HRESULTからの例外:0x80131040)

私は私のAddReferenceで、私はそれを追加

using ClosedXML.Excel; 
using MySql.Data.MySqlClient; 
using System; 
using System.Data; 
using System.IO; 
using System.Net.Mail; 
using System.Windows.Forms; 

namespace Email 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 
     } 
     String MyConString = "SERVER=10.0.30.125;" + "DATABASE=test;" + "UID=root;" + "PASSWORD=asterisk;" + "Convert Zero Datetime = True";   
     private void button1_Click(object sender, EventArgs e) 
     { 
      DataTable dt = GetData(); 
      dt.TableName = "data"; 
      using (XLWorkbook wb = new XLWorkbook()) 
      { 
       wb.Worksheets.Add(dt); 
       using (MemoryStream memoryStream = new MemoryStream()) 
       { 
        wb.SaveAs(memoryStream); 
        byte[] bytes = memoryStream.ToArray(); 
        memoryStream.Close(); 
        using (MailMessage Msg = new MailMessage()) 
        { 
         Msg.From = new MailAddress("[email protected]"); 
         Msg.To.Add("[email protected]"); 
         Msg.Subject = "DATA"; 
         Msg.Body = "Excel Attachment"; 
         Msg.Attachments.Add(new Attachment(new MemoryStream(bytes), "DATA.xlsx")); 
         Msg.IsBodyHtml = true; 
         SmtpClient smtp = new SmtpClient(); 
         smtp.Host = "smtp.gmail.com"; 
         smtp.EnableSsl = true; 
         System.Net.NetworkCredential credentials = new System.Net.NetworkCredential(); 
         credentials.UserName = "[email protected]"; 
         credentials.Password = "password"; 
         smtp.UseDefaultCredentials = true; 
         smtp.Credentials = credentials; 
         smtp.Port = 587; 
         smtp.Send(Msg); 
         MessageBox.Show("MAIL SENT SUCCESSFULLY TO " + txtTo.Text); 
         txtTo.Text = ""; 
        } 
       } 
      } 
     } 
     private DataTable GetData() 
     { 
      using (MySqlConnection conn = new MySqlConnection(MyConString)) 
      { 
       using (MySqlCommand cmd = new MySqlCommand("SELECT * from table;", conn)) 
       using (MySqlDataAdapter sda = new MySqlDataAdapter()) 
       { 
        cmd.Connection = conn; 
        sda.SelectCommand = cmd; 
        using (DataTable dt = new DataTable()) 
        { 
         sda.Fill(dt); 
         return dt; 
        } 
       } 
      } 
     } 
    } 
} 

ここではC#の私のコードIDでデータベーステーブルの添付ファイル付きのメールを送信しようとしています

ClosedXml.dll 
DocumentFormat.OpenXml.dll 
MySql.Data.dll 

私の問題を解決するのに役立ちます。なぜこのエラーが出るのですか?

答えて

2

DocumentFormat.OpenXmlバージョン2.5をダウンロードしてインストールしてください。https://www.microsoft.com/en-us/download/details.aspx?id=30425

+1

このリンクは現在死んでいるようです。しかし、NuGetで利用可能です。 –

+0

リンクをコピーしてブラウザに貼り付けます。 https://www.microsoft.com/en-us/download/details.aspx?id=30425 – Tomi

関連する問題