2017-01-14 2 views
2

VS 2017을 사용하여 ASP.NET 핵심 웹 앱을 만들고 있습니다. Sendgrid 패키지를 설치하는 중에 다음 오류가 발생합니다.ASP.NET 코어 앱에 패키지를 설치하는 중 오류가 발생했습니다.

패키지 Sendgrid 8.0.5는 netcoreapp1.0 (.NETCoreApp, Version = v1.0)과 호환되지 않습니다. 패키지 Sendgrid 8.0.5는 다음을 지원합니다. net (.NETFramework, Version = v0.0) 패키지 Microsoft.AspNet.WebApi.Client 5.2.3은 netcoreapp1.0 (.NETCoreApp, Version = v1.0)과 호환되지 않습니다. 패키지 Microsoft.AspNet.WebApi.Client 5.2.3은 다음을 지원합니다. net45 (.NETFramework, 버전 = v4.5) portable-net45 + netcore45 + wp8 + wp81 + wpa81 (.NETPortable, 버전 = v0.0, 프로필 = wp8 + netcore45 + net45 + wp81 + wpa81 패키지 SendGrid.CSharp.HTTP.Client 3.0.0은 netcoreapp1.0 (.NETCoreApp, 버전 = v1.0)과 호환되지 않습니다. 패키지 SendGrid.CSharp.HTTP.Client 3.0.0 지원 그물을 (.NETFramework, 버전 = v0.0) 하나 이상의 패키지가 .NETCoreApp, 버전 = v1.0.`

모든 솔루션과 호환되지 않습니다 이 오류가 발생 했습니까?

+0

project.json 파일을 올리시겠습니까? –

답변

1

오류는 당신에게 SendGrid 8.0.5 및 종속성이 지원 매트릭스를 제공합니다.

       net  net45 portable-net45+netcore45+wp8+wp81+wpa81 
SendGrid       1 
Microsoft.AspNet.WebApi.Client   1    1 
SendGrid.CSharp.HTTP.Client  1 

당신은 그들 중 누구도 코어 프레임 워크 (netcoreapp)를 지원하지 않고 대신 전체 프레임 워크 (net)를 요구 것을 볼 수 있습니다.

응용 프로그램을 코어 프레임 워크에서 실행해야하는 경우 SendGrid 8.0.5를 사용할 수 없습니다. 귀하의 옵션에는 SendGrid.NetCore을 사용하거나 MailKit을 사용하는 것이 있습니다 (이에 국한되지 않음).

앱이 핵심 프레임 워크에서 실행될 필요가없고 전체 프레임 워크 (net) 만 지원하는 것이 좋으면 SendGrid 8.0.5를 사용할 수 있습니다. 우리 자신의 앱의

, 우리는 그것을 SendGrid.NetCore가보다 더 성숙하기 때문에, MailKit 버전 1.10.0를 사용하기로 결정 그리고 코어 프레임 워크를 지원했습니다.

project.json

"dependencies": {               
    "MailKit": "1.10.0"             
},                  
"frameworks": {               
    "netcoreapp1.1": {}             
} 

MailKit와 SendGrid를 사용하여 이메일을 보내 다음과 같이 우리는 그것을 사용할 수 있습니다.

var mimeMessage = new MimeMessage(); 
mimeMessage.From.Add(new MailboxAddress("Admin", "[email protected]")); 
mimeMessage.To.Add(new MailboxAddress("Jon Doe", "[email protected]")); 
mimeMessage.Subject = "An Email for You!"; 
mimeMessage.Body = new TextPart("html") 
{ 
    Text = "This is the message."; 
}; 

using (var client = new SmtpClient()) 
{ 
    client.ServerCertificateValidationCallback = (s, c, h, e) => true; 
    client.Connect("smtp.sendgrid.net", 587); 
    await client.AuthenticateAsync("[email protected]", "ASD43234GDX");  
    await client.SendAsync(mimeMessage); 
    client.Disconnect(true); 
} 
관련 문제