microsoft/dotnet-apiport

false warning for System.Threading.Tasks.Dataflow.DataflowBlockOptions.set_EnsureOrdered(System.Boolean)

Closed this issue · 4 comments

I get a warning for a check against netstandard2.0.

Source of problem is your source of truth, apisofnet:
While the class itself is listed for ".NET Standard + Platform Extensions 1.6", its member EnsureOrdered is not listed as part of any netstandard variant.

BUT when I decompile this file:
C:\Users\me\.nuget\packages\system.threading.tasks.dataflow\4.9.0\lib\netstandard2.0\System.Threading.Tasks.Dataflow.dll
then there the property exists:

namespace System.Threading.Tasks.Dataflow
{
  /// <summary>Provides options used to configure the processing performed by dataflow blocks.</summary>
  [DebuggerDisplay("TaskScheduler = {TaskScheduler}, MaxMessagesPerTask = {MaxMessagesPerTask}, BoundedCapacity = {BoundedCapacity}")]
  public class DataflowBlockOptions
  {
    [..]

    /// <returns></returns>
    public bool EnsureOrdered
    {
      get
      {
        return this._ensureOrdered;
      }
      set
      {
        this._ensureOrdered = value;
      }
    }
  }
}

Please don't tell me, you are writing the input for apisofnet by hand?

Hey,
The warning you have is not incorrect. The ".NET Standard" target is comprised of the APIs that get shipped when you use the NETStandard.Library. ".NET Standard + Platform Extensions 1.6" is a super set of that target as it also includes libraries shipped by the ASP.NET team, and other libraries that aren't included in the standard.

I hope this helps,
Connie

I know. This still does not change that the information on apisofnet is wrong.

Other example:
https://apisof.net/catalog/Microsoft.AspNetCore.Mvc.ApplicationParts.CompiledRazorAssemblyPart
Tells me it only exists on netcore3.0.

I'm using this for months now, without using any kind of alpha, beta or other prerelease packages. Because it's part of officially released ASP.net-Core 2.1.

@terrajobst This API doesn't show up in apisof.net as being in .NET Standard 2.0, but the API is there in the .dll. Thoughts?

Closing as API Port was deprecated in favor of binary analysis in .NET Upgrade Assistant.