在 As 项上使用 Should().NotBeNull() 时调用不明确
Ambiguous Call when using Should().NotBeNull() on As item
当我做以下测试时
var contentRes = res as OkNegotiatedContentResult<List<MachineHealthTableDTO>>;
contentRes.Should().NotBeNull();
我收到错误
The call is ambiguous between the following methods or properties: 'DataRowAssertionExtensions.Should<TDataRow>(TDataRow)' and 'DataSetAssertionExtensions.Should<TDataSet>(TDataSet)'
当我从流利断言 5 升级到 6 时,这种情况就开始发生了。
任何有关如何解决此问题的想法都将不胜感激。
我刚刚遇到了 .NET Framework 4.8 控制台应用程序的确切问题。可以在本地正常构建,但在 Azure DevOps 管道中的构建步骤失败。
原来管道使用的是 vs2017-win2016
虚拟机。将其提升至 windows-2019
- 使用 Visual Studio 2019/更高版本的 MSBuild - 解决了问题。
问题已经得到解答,但我有同样的错误信息,无法理解为什么 FluentAssertions 从 4 到 6 版本做了这么多更改。结果,我安装了多个版本的 Nuget 包。因此,如果您安装了多个版本的 Fluent Assertions nuget 包,请通过“管理 nuget 包”查看解决方案。请参阅 Visual Studio 中的合并选项卡。
作为失败构建的快速修复,我将扩展方法更改为
AssertionExtensions.Should(contentRes).NotBeNull();
我遇到了与 enum
非常相似的问题
actualEnumValue.Should().Be(expectedEnumValue);
有错误
Error CS0121 The call is ambiguous between the following methods or properties: 'DataRowAssertionExtensions.Should(TDataRow)' and 'DataSetAssertionExtensions.Should(TDataSet)'
我终于设法通过从项目文件中删除 <LangVersion>7</LangVersion>
来解决问题。
当我做以下测试时
var contentRes = res as OkNegotiatedContentResult<List<MachineHealthTableDTO>>;
contentRes.Should().NotBeNull();
我收到错误
The call is ambiguous between the following methods or properties: 'DataRowAssertionExtensions.Should<TDataRow>(TDataRow)' and 'DataSetAssertionExtensions.Should<TDataSet>(TDataSet)'
当我从流利断言 5 升级到 6 时,这种情况就开始发生了。 任何有关如何解决此问题的想法都将不胜感激。
我刚刚遇到了 .NET Framework 4.8 控制台应用程序的确切问题。可以在本地正常构建,但在 Azure DevOps 管道中的构建步骤失败。
原来管道使用的是 vs2017-win2016
虚拟机。将其提升至 windows-2019
- 使用 Visual Studio 2019/更高版本的 MSBuild - 解决了问题。
问题已经得到解答,但我有同样的错误信息,无法理解为什么 FluentAssertions 从 4 到 6 版本做了这么多更改。结果,我安装了多个版本的 Nuget 包。因此,如果您安装了多个版本的 Fluent Assertions nuget 包,请通过“管理 nuget 包”查看解决方案。请参阅 Visual Studio 中的合并选项卡。
作为失败构建的快速修复,我将扩展方法更改为
AssertionExtensions.Should(contentRes).NotBeNull();
我遇到了与 enum
actualEnumValue.Should().Be(expectedEnumValue);
有错误
Error CS0121 The call is ambiguous between the following methods or properties: 'DataRowAssertionExtensions.Should(TDataRow)' and 'DataSetAssertionExtensions.Should(TDataSet)'
我终于设法通过从项目文件中删除 <LangVersion>7</LangVersion>
来解决问题。