2017-09-05 2 views
0

Error: The type 'MailAddress' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Net.Mail, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.Le type « MailAddress » est défini dans un assemblage non référencé

enter image description here

var myMessage = new SendGrid.SendGridMessage(); 

     myMessage.AddTo(model.To); 
     myMessage.From = new System.Net.Mail.MailAddress(model.From, model.Subject); 
     myMessage.Subject = model.Subject; 
     myMessage.Text = model.TextBody; 
     myMessage.Html = model.HtmlBody; 
+2

Et avez-vous ajouté cette référence? – David

+0

Aussi, netcoreapp, ou framework complet? – poke

+0

Ouais, j'ai une référence à System.Net.Mail – WanjyDan

Répondre

0

La propriété From de la classe SendGridMessage est un type de EmailAddress classe qui est en Sendgrid.Helpers.Mail espace de noms. Mais votre assignez un type différent ici

myMessage.From = new System.Net.Mail.MailAddress(model.From, model.Subject); 

Je pense que vous utilisez le package NuGet incorrect pour le noyau .net. Le package nuget mis à jour pour Sendgrid avec V3 api qui est compatible avec .NET Core est disponible sous le lien ci-dessous (v 9.9.0).

https://www.nuget.org/packages/Sendgrid/

Vérifiez le code exemple ci-dessous pour envoyer l'email avec V3 api en utilisant la classe MailHelper

  var apiKey = Environment.GetEnvironmentVariable("NAME_OF_THE_ENVIRONMENT_VARIABLE_FOR_YOUR_SENDGRID_KEY"); 
      var client = new SendGridClient(apiKey); 
      var from = new EmailAddress("[email protected]", "Example User"); 
      var subject = "Sending with SendGrid is Fun"; 
      var to = new EmailAddress("[email protected]", "Example User"); 
      var plainTextContent = "and easy to do anywhere, even with C#"; 
      var htmlContent = "<strong>and easy to do anywhere, even with C#</strong>"; 
      var msg = MailHelper.CreateSingleEmail(from, to, subject, plainTextContent, htmlContent); 
      var response = await client.SendEmailAsync(msg); 

Vérifiez le lien ci-dessous pour plus d'exemples

https://github.com/sendgrid/sendgrid-csharp/blob/master/USE_CASES.md#send-a-single-email-to-a-single-recipient

Vous pouvez trouver un problème similaire ici

https://github.com/sendgrid/sendgrid-csharp/issues/507