我写了一个非常简单的C# .Net Framework应用程序并添加了一些单元测试。现在,尝试使用coverlet检查覆盖率时出现错误MSB4184。 表达式 "[System.Version] :: Parse('')" 无法计算。版本字符串部分太短或太长(参数“input”)。 有人遇到过这样的错误吗?
我解决这个问题的一种方法是在您的$HOME\.nuget\packages目录中重命名(或删除)coverlet.collector目录。完全关闭Visual Studio,然后重新打开您的解决方案或项目。
Coverlet存在一些限制。它仅支持SDK样式的项目,在某些情况下仅支持.NET Core测试项目。如果您在解决方案中启动一个新的测试项目,这不是问题,因为您可以混合使用项目类型。但是,将现有的旧测试项目迁移到SDK样式的.NET Core项目可能是必要的。关于要求的更多信息,请参阅https://github.com/coverlet-coverage/coverlet#Quick-Start。
[typename]::StaticMethod()
<-- 这是 [tag:powershell] 的语法,不是 C# - 也许来自您的构建脚本? - Mathias R. Jessen