找不到MimeKit MimeMessage.CreateFromMailMessage方法

时间:2018-04-23 12:33:30

标签: asp.net-core-2.0 mimekit

我正在尝试在.NET Core 2.0库中使用MimeKit 2.0.3。找不到MimeMessage.CreateFromMailMessage方法。我只能看到一些其他方法,如Load和LoadAsync,但这就是全部。

我还有一个测试MimeKit的.NET Framework 4.7.1控制台程序......在那里找到了CreateFromMailMessage方法(不是.NET Core控制台)。

示例代码:

String defaultBatchSize = "100";
String batchSizeString = (String) entityManager.getEntityManagerFactory().getProperties()
                         .getOrDefault("hibernate.jdbc.batch_size", defaultBatchSize);
batchSize = Integer.parseInt(batchSizeString);

1 个答案:

答案 0 :(得分:0)

MimeKit nuget包包括对.NET Standard 1.6和.NET Standard 2.0的支持。这意味着它不支持/不支持.NET Core 2.0,因为.NET Standard 2.0中不存在System.Net.Mail命名空间。

MimeMessage(ENABLE_SNM)中有一个预处理器指令,如果定义了此指令,则只构建CreateFromEmailMessage ...这不适用于MimeKit.NetStandard项目。因此,即使它包含新的System.Net.Mail命名空间,也不支持.NET Core 2.0。

我能够通过将ENABLE_SNM指令添加到MimeKit.NetStandard(项目属性Build)来修复,然后修改了MimeKit.NetStandard项目文件:

<TargetFrameworks>netstandard1.3;netstandard1.6;netstandard2.0</TargetFrameworks>

<TargetFrameworks>netstandard2.0</TargetFrameworks>

这允许我重建MimeKit.NetStandard并在我的项目中使用该单个结果.dll文件。