If the project references both Theraot.Core and Microsoft.Bcl.AsyncInterfaces packages there's Error CS0433 The type 'IAsyncEnumerable<T>' exists in both assemblies error when using the IAsyncEnumerable<T> type
NB1: the reference may be transitive. As example, SomeProject -> System.Text.Json -> Microsoft.Bcl.AsyncInterfaces.
NB2: the issue may be workarounded with aliases for unneeded assembly,
<PackageReference Include="Microsoft.Bcl.AsyncInterfaces" Version="7.0.0" >
<Aliases>AsyncInterfaces</Aliases>
</PackageReference>
But it may be a good idea to use the Microsoft.Bcl.AsyncInterfaces in Theraot.Core, as it is done with Microsoft.Bcl.HashCode package
UPD: I've just discovered the IAsyncEnumerable<T> is not available when targeting net48. I'm not sure if I should report it as a separate issue as it'll be fixed automatically after referencing the Microsoft.Bcl.AsyncInterfaces. Extracted to #197
Repro:
Program.cs:
internal class Program
{
public static void Main(string[] args)
{
IAsyncEnumerable<int> a = null;
}
}
ConsoleApp.csproj:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net461</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="System.Text.Json" Version="7.0.3" />
<PackageReference Include="Theraot.Core" Version="3.2.11" />
</ItemGroup>
</Project>
If the project references both Theraot.Core and Microsoft.Bcl.AsyncInterfaces packages there's
Error CS0433 The type 'IAsyncEnumerable<T>' exists in both assemblieserror when using theIAsyncEnumerable<T>typeNB1: the reference may be transitive. As example,
SomeProject -> System.Text.Json -> Microsoft.Bcl.AsyncInterfaces.NB2: the issue may be workarounded with aliases for unneeded assembly,
But it may be a good idea to use the
Microsoft.Bcl.AsyncInterfacesin Theraot.Core, as it is done with Microsoft.Bcl.HashCode packageUPD: I've just discovered the. Extracted to #197IAsyncEnumerable<T>is not available when targeting net48. I'm not sure if I should report it as a separate issue as it'll be fixed automatically after referencing theMicrosoft.Bcl.AsyncInterfacesRepro:
Program.cs:
ConsoleApp.csproj: