Imported Upstream version 5.2.0.175

Former-commit-id: bb0468d0f257ff100aa895eb5fe583fb5dfbf900
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2017-06-07 13:16:24 +00:00
parent 4bdbaf4a88
commit 966bba02bb
8776 changed files with 346420 additions and 149650 deletions

View File

@@ -1,59 +1,38 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
VisualStudioVersion = 12.0.30723.0
# Visual Studio 14
VisualStudioVersion = 14.0.25420.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Threading.Tasks.Dataflow.Tests", "tests\System.Threading.Tasks.Dataflow.Tests.csproj", "{72E21903-0FBA-444E-9855-3B4F05DFC1F9}"
ProjectSection(ProjectDependencies) = postProject
{0C10C503-FD37-4990-BD0F-B79FE22203DD} = {0C10C503-FD37-4990-BD0F-B79FE22203DD}
{2E2F7224-7C72-4A81-9625-A5241F8D836D} = {2E2F7224-7C72-4A81-9625-A5241F8D836D}
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Threading.Tasks.Dataflow", "src\System.Threading.Tasks.Dataflow.csproj", "{1DD0FF15-6234-4BD6-850A-317F05479554}"
ProjectSection(ProjectDependencies) = postProject
{0C10C503-FD37-4990-BD0F-B79FE22203DD} = {0C10C503-FD37-4990-BD0F-B79FE22203DD}
EndProjectSection
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Threading.Tasks.Dataflow", "src\System.Threading.Tasks.Dataflow.csproj", "{2E2F7224-7C72-4A81-9625-A5241F8D836D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Threading.Tasks.Dataflow.WP8", "src\System.Threading.Tasks.Dataflow.WP8.csproj", "{0C10C503-FD37-4990-BD0F-B79FE22203DD}"
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{1A2F9F4A-A032-433E-B914-ADD5992BB178}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{3A3E1C22-FF83-4D70-A94A-6C130805E6BF}"
ProjectSection(SolutionItems) = preProject
..\.nuget\packages.Windows_NT.config = ..\.nuget\packages.Windows_NT.config
EndProjectSection
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{E107E9C1-E893-4E87-987E-04EF0DCEAEFD}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
DebugNETCoreAppnetstandard1.0netstandard1.3|AnyCPU = DebugNETCoreAppnetstandard1.0netstandard1.3|AnyCPU
ReleaseNETCoreAppnetstandard1.0netstandard1.3|AnyCPU = ReleaseNETCoreAppnetstandard1.0netstandard1.3|AnyCPU
DebugNETCoreAppnetstandard1.1netstandard1.3|AnyCPU = DebugNETCoreAppnetstandard1.1netstandard1.3|AnyCPU
ReleaseNETCoreAppnetstandard1.1netstandard1.3|AnyCPU = ReleaseNETCoreAppnetstandard1.1netstandard1.3|AnyCPU
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{72E21903-0FBA-444E-9855-3B4F05DFC1F9}.DebugNETCoreAppnetstandard1.0netstandard1.3|AnyCPU.ActiveCfg = netstandard1.3-Debug|Any CPU
{72E21903-0FBA-444E-9855-3B4F05DFC1F9}.DebugNETCoreAppnetstandard1.0netstandard1.3|AnyCPU.Build.0 = netstandard1.3-Debug|Any CPU
{72E21903-0FBA-444E-9855-3B4F05DFC1F9}.ReleaseNETCoreAppnetstandard1.0netstandard1.3|AnyCPU.ActiveCfg = netstandard1.3-Release|Any CPU
{72E21903-0FBA-444E-9855-3B4F05DFC1F9}.ReleaseNETCoreAppnetstandard1.0netstandard1.3|AnyCPU.Build.0 = netstandard1.3-Release|Any CPU
{72E21903-0FBA-444E-9855-3B4F05DFC1F9}.DebugNETCoreAppnetstandard1.1netstandard1.3|AnyCPU.ActiveCfg = netstandard1.3-Debug|Any CPU
{72E21903-0FBA-444E-9855-3B4F05DFC1F9}.DebugNETCoreAppnetstandard1.1netstandard1.3|AnyCPU.Build.0 = netstandard1.3-Debug|Any CPU
{72E21903-0FBA-444E-9855-3B4F05DFC1F9}.ReleaseNETCoreAppnetstandard1.1netstandard1.3|AnyCPU.ActiveCfg = netstandard1.3-Release|Any CPU
{72E21903-0FBA-444E-9855-3B4F05DFC1F9}.ReleaseNETCoreAppnetstandard1.1netstandard1.3|AnyCPU.Build.0 = netstandard1.3-Release|Any CPU
{1DD0FF15-6234-4BD6-850A-317F05479554}.DebugNETCoreAppnetstandard1.0netstandard1.3|AnyCPU.ActiveCfg = netstandard1.0-Debug|Any CPU
{1DD0FF15-6234-4BD6-850A-317F05479554}.DebugNETCoreAppnetstandard1.0netstandard1.3|AnyCPU.Build.0 = netstandard1.0-Debug|Any CPU
{1DD0FF15-6234-4BD6-850A-317F05479554}.ReleaseNETCoreAppnetstandard1.0netstandard1.3|AnyCPU.ActiveCfg = netstandard1.0-Release|Any CPU
{1DD0FF15-6234-4BD6-850A-317F05479554}.ReleaseNETCoreAppnetstandard1.0netstandard1.3|AnyCPU.Build.0 = netstandard1.0-Release|Any CPU
{1DD0FF15-6234-4BD6-850A-317F05479554}.DebugNETCoreAppnetstandard1.1netstandard1.3|AnyCPU.ActiveCfg = netstandard1.1-Debug|Any CPU
{1DD0FF15-6234-4BD6-850A-317F05479554}.DebugNETCoreAppnetstandard1.1netstandard1.3|AnyCPU.Build.0 = netstandard1.1-Debug|Any CPU
{1DD0FF15-6234-4BD6-850A-317F05479554}.ReleaseNETCoreAppnetstandard1.1netstandard1.3|AnyCPU.ActiveCfg = netstandard1.1-Release|Any CPU
{1DD0FF15-6234-4BD6-850A-317F05479554}.ReleaseNETCoreAppnetstandard1.1netstandard1.3|AnyCPU.Build.0 = netstandard1.1-Release|Any CPU
{0C10C503-FD37-4990-BD0F-B79FE22203DD}.DebugNETCoreAppnetstandard1.0netstandard1.3|AnyCPU.ActiveCfg = netstandard1.0-Debug|Any CPU
{0C10C503-FD37-4990-BD0F-B79FE22203DD}.DebugNETCoreAppnetstandard1.0netstandard1.3|AnyCPU.Build.0 = netstandard1.0-Debug|Any CPU
{0C10C503-FD37-4990-BD0F-B79FE22203DD}.ReleaseNETCoreAppnetstandard1.0netstandard1.3|AnyCPU.ActiveCfg = netstandard1.0-Release|Any CPU
{0C10C503-FD37-4990-BD0F-B79FE22203DD}.ReleaseNETCoreAppnetstandard1.0netstandard1.3|AnyCPU.Build.0 = netstandard1.0-Release|Any CPU
{0C10C503-FD37-4990-BD0F-B79FE22203DD}.DebugNETCoreAppnetstandard1.1netstandard1.3|AnyCPU.ActiveCfg = netstandard1.1-Debug|Any CPU
{0C10C503-FD37-4990-BD0F-B79FE22203DD}.DebugNETCoreAppnetstandard1.1netstandard1.3|AnyCPU.Build.0 = netstandard1.1-Debug|Any CPU
{0C10C503-FD37-4990-BD0F-B79FE22203DD}.ReleaseNETCoreAppnetstandard1.1netstandard1.3|AnyCPU.ActiveCfg = netstandard1.1-Release|Any CPU
{0C10C503-FD37-4990-BD0F-B79FE22203DD}.ReleaseNETCoreAppnetstandard1.1netstandard1.3|AnyCPU.Build.0 = netstandard1.1-Release|Any CPU
{72E21903-0FBA-444E-9855-3B4F05DFC1F9}.Debug|Any CPU.ActiveCfg = netstandard-Debug|Any CPU
{72E21903-0FBA-444E-9855-3B4F05DFC1F9}.Debug|Any CPU.Build.0 = netstandard-Debug|Any CPU
{72E21903-0FBA-444E-9855-3B4F05DFC1F9}.Release|Any CPU.ActiveCfg = netstandard-Release|Any CPU
{72E21903-0FBA-444E-9855-3B4F05DFC1F9}.Release|Any CPU.Build.0 = netstandard-Release|Any CPU
{2E2F7224-7C72-4A81-9625-A5241F8D836D}.Debug|Any CPU.ActiveCfg = netstandard-Debug|Any CPU
{2E2F7224-7C72-4A81-9625-A5241F8D836D}.Debug|Any CPU.Build.0 = netstandard-Debug|Any CPU
{2E2F7224-7C72-4A81-9625-A5241F8D836D}.Release|Any CPU.ActiveCfg = netstandard-Release|Any CPU
{2E2F7224-7C72-4A81-9625-A5241F8D836D}.Release|Any CPU.Build.0 = netstandard-Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{72E21903-0FBA-444E-9855-3B4F05DFC1F9} = {1A2F9F4A-A032-433E-B914-ADD5992BB178}
{2E2F7224-7C72-4A81-9625-A5241F8D836D} = {E107E9C1-E893-4E87-987E-04EF0DCEAEFD}
EndGlobalSection
EndGlobal

View File

@@ -5,5 +5,6 @@
<PackageVersion>4.8.0</PackageVersion>
<AssemblyVersion>4.6.2.0</AssemblyVersion>
<IsNETCoreApp>true</IsNETCoreApp>
<IsUAP>true</IsUAP>
</PropertyGroup>
</Project>

View File

@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<ItemGroup>
<Project Include="System.Threading.Tasks.Dataflow.pkgproj" />
</ItemGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.traversal.targets))\dir.traversal.targets" />
</Project>

View File

@@ -6,7 +6,7 @@
<MinClientVersion>2.8.6</MinClientVersion>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\src\System.Threading.Tasks.Dataflow.builds">
<ProjectReference Include="..\src\System.Threading.Tasks.Dataflow.csproj">
<SupportedFramework>net45;netcore45;wp8;wpa81;netcoreapp1.0;$(AllXamarinFrameworks)</SupportedFramework>
</ProjectReference>
</ItemGroup>

View File

@@ -554,7 +554,7 @@ namespace System.Threading.Tasks.Dataflow
if (exceptions != null)
{
// It is important to migrate these exceptions to the source part of the owning batch,
// because that is the completion task that is publically exposed.
// because that is the completion task that is publicly exposed.
targetCore._owningBatch._source.AddExceptions(exceptions);
}
@@ -1025,7 +1025,7 @@ namespace System.Threading.Tasks.Dataflow
// Increment the bounding count with the number of consumed messages
if (_boundingState != null) _boundingState.CurrentCount += reserved.Count;
// Enqueue the consumed mesasages
// Enqueue the consumed messages
foreach (KeyValuePair<ISourceBlock<T>, KeyValuePair<DataflowMessageHeader, T>> sourceAndMessage in reserved)
{
_messages.Enqueue(sourceAndMessage.Value.Value);
@@ -1074,7 +1074,7 @@ namespace System.Threading.Tasks.Dataflow
// Increment the bounding count with the number of consumed messages
if (_boundingState != null) _boundingState.CurrentCount += consumedCount;
// Enqueue the consumed mesasages
// Enqueue the consumed messages
foreach (KeyValuePair<ISourceBlock<T>, KeyValuePair<DataflowMessageHeader, T>> sourceAndMessage in reserved)
{
// If we didn't consume this message, the KeyValuePai will be default, i.e. the source will be null

View File

@@ -408,7 +408,7 @@ namespace System.Threading.Tasks.Dataflow
if (exceptions != null)
{
// It is important to migrate these exceptions to the source part of the owning batch,
// because that is the completion task that is publically exposed.
// because that is the completion task that is publicly exposed.
thisBroadcastBlock._source.AddExceptions(exceptions);
}
@@ -1176,7 +1176,7 @@ namespace System.Threading.Tasks.Dataflow
}
}
/// <summary>Adds an individual exceptionto this source.</summary>
/// <summary>Adds an individual exception to this source.</summary>
/// <param name="exception">The exception to add</param>
internal void AddException(Exception exception)
{

View File

@@ -410,7 +410,7 @@ namespace System.Threading.Tasks.Dataflow
if (exceptions != null)
{
// It is important to migrate these exceptions to the source part of the owning batch,
// because that is the completion task that is publically exposed.
// because that is the completion task that is publicly exposed.
thisBufferBlock._source.AddExceptions(exceptions);
}

View File

@@ -826,7 +826,7 @@ namespace System.Threading.Tasks.Dataflow.Internal
if (exceptions != null)
{
// It is important to migrate these exceptions to the source part of the owning join,
// because that is the completion task that is publically exposed.
// because that is the completion task that is publicly exposed.
foreach (Exception exc in exceptions)
{
_sharedResources._exceptionAction(exc);
@@ -1100,7 +1100,7 @@ namespace System.Threading.Tasks.Dataflow.Internal
/// <summary>The number of joins this block has created.</summary>
internal long _joinsCreated;
// *** Private fields and properties - mutatable
// *** Private fields and properties - mutable
/// <summary>A task has reserved the right to run the completion routine.</summary>
private bool _completionReserved;

View File

@@ -7,7 +7,7 @@
// ActionOnDispose.cs
//
//
// Implemention of IDisposable that runs a delegate on Dispose.
// Implementation of IDisposable that runs a delegate on Dispose.
//
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

View File

@@ -455,7 +455,7 @@ namespace System.Threading.Tasks.Dataflow.Internal
}
}
/// <summary>Adds an individual exceptionto this source.</summary>
/// <summary>Adds an individual exception to this source.</summary>
/// <param name="exception">The exception to add</param>
internal void AddException(Exception exception)
{

View File

@@ -681,7 +681,7 @@ namespace System.Threading.Tasks.Dataflow.Internal
{
if (forPostponementTransfer)
{
// We didn't consume message so we need to decrement because we havent consumed the element.
// We didn't consume message so we need to decrement because we haven't consumed the element.
_boundingState.OutstandingTransfers--;
}
}

View File

@@ -1,64 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
@@ -138,27 +79,9 @@
<data name="Argument_InvalidMessageId" xml:space="preserve">
<value>To construct a DataflowMessageHeader instance, either pass a non-zero value or use the parameterless constructor.</value>
</data>
<data name="Argument_InvalidSourceForFilteredLink" xml:space="preserve">
<value>This block must only be used with the source from which it was created.</value>
</data>
<data name="Argument_NonGreedyNotSupported" xml:space="preserve">
<value>Greedy must be true for this dataflow block.</value>
</data>
<data name="event_DataflowBlockCompleted" xml:space="preserve">
<value>Block {0} completed as {1}. {2}</value>
</data>
<data name="event_DataflowBlockCreated" xml:space="preserve">
<value>Block of type {0} instantiated with Id {1}.</value>
</data>
<data name="event_DataflowBlockLinking" xml:space="preserve">
<value>Source {0} linked to target {1}.</value>
</data>
<data name="event_DataflowBlockUnlinking" xml:space="preserve">
<value>Source {0} unlinked from target {1}.</value>
</data>
<data name="event_TaskLaunchedForMessageHandling" xml:space="preserve">
<value>{1} task launched from block {0} with {2} message(s) pending.</value>
</data>
<data name="InvalidOperation_DataNotAvailableForReceive" xml:space="preserve">
<value>The source completed without providing data to receive.</value>
</data>

View File

@@ -2,10 +2,9 @@
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
<ProjectGuid>{1DD0FF15-6234-4BD6-850A-317F05479554}</ProjectGuid>
<ProjectGuid>{2E2F7224-7C72-4A81-9625-A5241F8D836D}</ProjectGuid>
<RootNamespace>System.Threading.Tasks.Dataflow</RootNamespace>
<AssemblyName>System.Threading.Tasks.Dataflow</AssemblyName>
<DocumentationFile>$(OutputPath)System.Threading.Tasks.Dataflow.XML</DocumentationFile>
<DocumentationFile>$(OutputPath)$(MSBuildProjectName).xml</DocumentationFile>
<DefineConstants Condition="'$(TargetGroup)' == 'netstandard1.1' OR '$(TargetGroup)' == 'netstandard'">$(DefineConstants);CONCURRENT_COLLECTIONS;FEATURE_TRACING</DefineConstants>
<PackageTargetFramework Condition="'$(TargetGroup)' == 'netstandard1.1'">netstandard1.1;portable-net45+win8+wpa81</PackageTargetFramework>
</PropertyGroup>
@@ -62,18 +61,21 @@
<ItemGroup>
<Content Include="XmlDocs\System.Threading.Tasks.Dataflow.xml" />
</ItemGroup>
<ItemGroup Condition="'$(TargetGroup)' != 'netstandard1.0'">
<Reference Include="System.Diagnostics.Tracing" />
<Reference Include="System.Collections.Concurrent" />
</ItemGroup>
<ItemGroup>
<Reference Include="System.Collections" />
<Reference Include="System.Collections.Concurrent" />
<Reference Include="System.Diagnostics.Contracts" />
<Reference Include="System.Diagnostics.Debug" />
<Reference Include="System.Diagnostics.Tools" />
<Reference Include="System.Diagnostics.Tracing" />
<Reference Include="System.Dynamic.Runtime" />
<Reference Include="System.Linq" />
<Reference Include="System.Resources.ResourceManager" />
<Reference Include="System.Runtime" />
<Reference Include="System.Runtime.Extensions" />
<Reference Include="System.Runtime.Serialization.Primitives" />
<Reference Include="System.Threading" />
<Reference Include="System.Threading.Tasks" />
</ItemGroup>

View File

@@ -88,7 +88,7 @@
<param name="consumeToAccept">
true if the target must call ConsumeMessage synchronously during the call to OfferMessage, prior to returning
<see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Accepted"/>, in order to consume the message.
false if the target wanting to accept the message should not call ConsumeMessage, and should isntead simply return DataflowMessageStatus.Accepted.
false if the target wanting to accept the message should not call ConsumeMessage, and should instead simply return DataflowMessageStatus.Accepted.
</param>
<returns>
The status of the offered message. If the message was accepted by the target, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Accepted"/> is returned, and the source should
@@ -266,4 +266,4 @@
</Member>
</Sources>
</CommonXmlDocComments>
</CommonXmlDocComments>

View File

@@ -2,7 +2,7 @@
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<BuildConfigurations>
netstandard1.3;
netstandard;
</BuildConfigurations>
</PropertyGroup>
</Project>

View File

@@ -4,6 +4,7 @@
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
using Xunit;
namespace System.Threading.Tasks.Dataflow.Tests
@@ -121,19 +122,25 @@ namespace System.Threading.Tasks.Dataflow.Tests
// Make sure that the Completion task returned by a NullTarget
// is not cached across all NullTargets. Since it'll never complete,
// that would be a potentially huge memory leak.
var state = new object();
var wro = new WeakReference<object>(state);
DataflowBlock.NullTarget<int>().Completion.ContinueWith(delegate { }, state);
state = null;
var wro = CreateWeakReferenceToObjectReferencedByNullTargetContinuation();
GC.Collect();
GC.WaitForPendingFinalizers();
GC.Collect();
object state;
Assert.False(wro.TryGetTarget(out state));
}
[MethodImpl(MethodImplOptions.NoInlining)]
private static WeakReference<object> CreateWeakReferenceToObjectReferencedByNullTargetContinuation()
{
var state = new object();
var wro = new WeakReference<object>(state);
DataflowBlock.NullTarget<int>().Completion.ContinueWith(delegate { }, state);
return wro;
}
[Fact]
public void TestPost_ArgumentValidation()
{

View File

@@ -1,12 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<ItemGroup>
<Project Include="System.Threading.Tasks.Dataflow.Tests.csproj" />
<Project Include="System.Threading.Tasks.Dataflow.Tests.csproj">
<OSGroup>Windows_NT</OSGroup>
<TestTFMs>net46</TestTFMs>
</Project>
</ItemGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.traversal.targets))\dir.traversal.targets" />
</Project>

View File

@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
<ProjectGuid>{72E21903-0FBA-444E-9855-3B4F05DFC1F9}</ProjectGuid>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='netstandard1.3-Debug|AnyCPU'" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='netstandard1.3-Release|AnyCPU'" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'netstandard-Debug|AnyCPU'" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'netstandard-Release|AnyCPU'" />
<ItemGroup>
<Compile Include="Dataflow\*.cs" />
<Compile Include="$(CommonTestPath)\System\Diagnostics\RemoteExecutorTestBase.cs">
@@ -28,4 +28,4 @@
</ProjectReference>
</ItemGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
</Project>
</Project>