我正在尝试在.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);
答案 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文件。