如何解决CsvHelper PrepareHeaderForMatch 在 Azure 上编译时导致 CS1546 异常
我已升级到最新的 CsvHelper 库 v25,该项目使用 C# 语言 v7.3 和 .NET v4.7.2 构建。在本地构建和测试工作正常,但是当我触发管道并将解决方案部署到 Azure App 服务时,我收到以下编译器异常:
属性、索引器或事件“PrepareHeaderForMatchArgs.Header”不是 受语言支持;尝试直接调用访问器方法 'PrepareHeaderForMatchArgs.get_Header()' 或 'PrepareHeaderForMatchArgs.set_Header(?)'
这是 CsvHelper 实现的片段:
var config = new CsvConfiguration(CultureInfo.InvariantCulture)
{
PrepareHeaderForMatch = args => args.Header.ToLowerInvariant()
};
using (StreamReader r = new StreamReader(file.InputStream))
using (var csv = new CsvReader(r,config))
{
csv.Context.TypeConverterCache.AddConverter<Decimal>(new DecimalConverter());
csv.Context.TypeConverterCache.AddConverter<DateTime>(new DateConverter());
csv.Context.RegisterClassMap(mapper);
data = csv.GetRecords<BankDetailFields>().ToList();
}
如果我删除
PrepareHeaderForMatch = args => args.Header.ToLowerInvariant()
然后它会正确部署。我已经检查并确保它在部署时使用 C# v7.3,我还没有尝试其他 C# 语言版本。
有没有人遇到过 CS1546 的类似问题,以及 PrepareHeaderForMatch 实现的任何其他方法。
干杯。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。