Its really hard to find any information on IAsyncEnumerable
, other than a few mentions in the 'What's New c# 8.0' articles. Trying to use it in Visual Studio 2019 with netstandard 2.0 and C# 8 enabled, it does recognize the class but i get a ton of errors on build:
Is IAsyncEnumerable supported in C# 8.0?
Asked Answered
are there images of error messages? –
Johannajohannah
C# 8 supports those things, but doesn't define them. You need to target a release of .NET that does, which, at the moment, is only the preview release of .NET Core 3.0. –
Dingdong
C# 8 supports these features. However, this wont work with .Net standard 2.0
Applies to
.NET Core 3.0 Preview 3
.NET Standard 2.1 Preview
You will have to get either one of the previews.
You can find more information on .Net Core 3 Preview here
So just a heads up for anyone planning on trying this, unfortunately it wont work if you use
Net Core 3.0
along with EntityframeworkCore
, because of the following error: Error CS0433 The type 'IAsyncEnumerable<T>' exists in both 'System.Interactive.Async, Version=3.2.0.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263' and 'System.Runtime, Version=4.2.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
–
Intersperse Just ran into the above comment myself. Was trying to try out IAsyncEnumerable with providing a InMemory database for data but nope! Dreams crushed. –
Pellagra
The answer of Vlad is the right one.
- Add LangVersion 8.0 to the desired Projects PropertGroup
- Add the Microsoft.Bcl.AsyncInterfaces as PackageReference
For example: MyDummyLib.csproj
<PropertyGroup>
<TargetFrameworks>netstandard2.0;netstandard2.1</TargetFrameworks>
<LangVersion>8.0</LangVersion>
<AssemblyName>MyDummyLib</AssemblyName>
<RootNamespace>MyDummyLib</RootNamespace>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
</PropertyGroup>
<ItemGroup Condition="'$(TargetFramework)'=='netstandard2.0'">
<PackageReference Include="Microsoft.Bcl.AsyncInterfaces" Version="1.1.1" />
</ItemGroup>
For .NET Standard 2.0 you should install Microsoft.Bcl.AsyncInterfaces
https://www.nuget.org/packages/Microsoft.Bcl.AsyncInterfaces/
Please don't just post some tool or library as an answer. At least demonstrate how it solves the problem in the answer itself. –
Gerhard
Since the problem is about missing member IAsyncEnumerable .NET Standard 2.0 - this packet publishied by Microsoft for compatibility in .NET Standard 2.0. You don't need do anything acept install it. –
Inflationism
Looks like you need to target .NET Standard 2.1 but it’s still only in preview.
© 2022 - 2024 — McMap. All rights reserved.