将一个 ASP.NET Core 项目从 .NET 7 升级到到 .NET 9,并将 xunit 从 2.5.0 升级至 2.9.3,升级后出现下面的错误
The type 'ITestOutputHelper' is defined in an assembly that is not referenced. You must add a reference to assembly 'xunit.v3.core, Version=3.0.1.0, Culture=neutral, PublicKeyToken=8d05b1bb7a6fdb6c'.
安装 xunit.v3.core 3.0.1 之后,却出现一堆引用冲突,比如
'ITestOutputHelper' is an ambiguous reference between 'Xunit.Abstractions.ITestOutputHelper' and 'Xunit.ITestOutputHelper'
The type 'CollectionAttribute' exists in both 'xunit.core, Version=2.9.3.0, Culture=neutral, PublicKeyToken=8d05b1bb7a6fdb6c' and 'xunit.v3.core, Version=3.0.1.0, Culture=neutral, PublicKeyToken=8d05b1bb7a6fdb6c'
请问如何解决这个问题?
是 Xunit.Microsoft.DependencyInjection 的版本引起的,从 9.1.2 降级为 8.2.2 可解决
- <PackageReference Include="Xunit.Microsoft.DependencyInjection" Version="9.1.2" />
+ <PackageReference Include="Xunit.Microsoft.DependencyInjection" Version="8.2.2" />