【发布时间】:2021-09-08 14:01:57
【问题描述】:
我的任务是处理一个用 WPF 编写的遗留项目,该项目被集成到一个更大的应用程序中并使其独立。它已经有一段时间没有被触及了,根据经验,在尝试更新相关包时,这总是会导致问题。我的团队定期进行维护以使技术保持最新,但代码库由另一个团队维护,因此他们没有遵循任何维护计划。我发现 ClosedXml 存在问题,我们的部分代码引用了 0.74.0 中可用的扩展方法 HasDuplicates()(在 ClosedXml.Excel 中找到),但在升级最新版本 (0.95.4) 时不存在.搜索帮助并没有返回任何有用的信息,但我确信某处必须有一个发布说明,说明它已被删除或重命名,但我找不到它!
使用 0.74.0,此代码编译:
if (serializedPeriodAllocations.Select(o => o.Period).HasDuplicates())
{
throw new Exception("Duplicate period allocations found!");
}
但是当我将 ClosedXml 升级到 0.95.4 或更高版本时,它没有,并且我收到以下错误:
CS1061 'IEnumerable<int>' does not contain a definition for 'HasDuplicates' and no accessible extension method 'HasDuplicates' accepting a first argument of type 'IEnumerable<int>' could be found (are you missing a using directive or an assembly reference?)
有谁知道是否有任何文档可以帮助我找出它不再起作用的原因,以及是否可以升级?
【问题讨论】:
-
这样的方法似乎仍然存在:github.com/ClosedXML/ClosedXML/blob/develop/ClosedXML/… 所以我猜你只需要修复一些
usings 什么的 -
感谢@AakashM,感谢链接。看起来它已从 Excel 移至 Extensions,我确定我试过了,但会再试一次。再次感谢
-
我不知道如何实现它——它在 Excel 或 Extensions 中不可用。我设法通过升级到 0.90.0 来保留对扩展的访问权限,但是再进一步,问题又回来了。主要优先事项是让应用程序独立运行并且已经实现,因此稍后将处理此问题。