summaryrefslogtreecommitdiff
path: root/.packages/illink.tasks
diff options
context:
space:
mode:
Diffstat (limited to '.packages/illink.tasks')
-rw-r--r--.packages/illink.tasks/0.1.5-preview-1461378/.nupkg.metadata4
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/build/ILLink.CrossGen.targets229
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/build/ILLink.Tasks.targets528
-rw-r--r--.packages/illink.tasks/0.1.5-preview-1461378/illink.tasks.0.1.5-preview-1461378.nupkgbin0 -> 3358184 bytes
-rw-r--r--.packages/illink.tasks/0.1.5-preview-1461378/illink.tasks.0.1.5-preview-1461378.nupkg.sha5121
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/illink.tasks.nuspec11
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/ILLink.CustomSteps.dllbin0 -> 5120 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/ILLink.Tasks.dllbin0 -> 49824 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/Microsoft.Build.Framework.dllbin0 -> 83688 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/Microsoft.Build.Utilities.Core.dllbin0 -> 330488 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/Microsoft.Win32.Primitives.dllbin0 -> 22768 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/Mono.Cecil.Mdb.dllbin0 -> 43520 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/Mono.Cecil.Pdb.dllbin0 -> 103072 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/Mono.Cecil.dllbin0 -> 352920 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/Newtonsoft.Json.dllbin0 -> 535552 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/NuGet.Common.dllbin0 -> 68312 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/NuGet.Configuration.dllbin0 -> 84696 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/NuGet.DependencyResolver.Core.dllbin0 -> 59608 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/NuGet.Frameworks.dllbin0 -> 105688 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/NuGet.LibraryModel.dllbin0 -> 43224 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/NuGet.Packaging.Core.dllbin0 -> 47832 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/NuGet.Packaging.dllbin0 -> 227544 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/NuGet.ProjectModel.dllbin0 -> 124632 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/NuGet.Protocol.dllbin0 -> 426712 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/NuGet.Versioning.dllbin0 -> 50392 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.AppContext.dllbin0 -> 20168 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.Collections.Immutable.dllbin0 -> 180984 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.Console.dllbin0 -> 34496 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.Diagnostics.DiagnosticSource.dllbin0 -> 35760 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.Globalization.Calendars.dllbin0 -> 23296 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.IO.Compression.ZipFile.dllbin0 -> 24824 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.IO.Compression.dllbin0 -> 111984 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.IO.FileSystem.Primitives.dllbin0 -> 22784 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.IO.FileSystem.dllbin0 -> 22736 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.Net.Http.dllbin0 -> 265048 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.Net.Sockets.dllbin0 -> 46280 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.Reflection.Metadata.dllbin0 -> 428784 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.Runtime.InteropServices.RuntimeInformation.dllbin0 -> 33256 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.Security.Cryptography.Algorithms.dllbin0 -> 39872 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.Security.Cryptography.Encoding.dllbin0 -> 23480 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.Security.Cryptography.Primitives.dllbin0 -> 22816 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.Security.Cryptography.X509Certificates.dllbin0 -> 38872 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.Threading.Thread.dllbin0 -> 22240 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.Xml.ReaderWriter.dllbin0 -> 23264 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/illink.dllbin0 -> 138368 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/runtimes/unix/lib/netstandard1.1/System.Runtime.InteropServices.RuntimeInformation.dllbin0 -> 27616 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/runtimes/unix/lib/netstandard1.3/System.IO.Compression.dllbin0 -> 117624 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/runtimes/unix/lib/netstandard1.3/System.Security.Cryptography.Encoding.dllbin0 -> 47032 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/runtimes/win/lib/net45/System.Runtime.InteropServices.RuntimeInformation.dllbin0 -> 33256 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/runtimes/win/lib/net46/System.IO.Compression.dllbin0 -> 111984 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/runtimes/win/lib/net46/System.Net.Http.dllbin0 -> 265048 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/runtimes/win/lib/net46/System.Security.Cryptography.Algorithms.dllbin0 -> 39872 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/runtimes/win/lib/net46/System.Security.Cryptography.Encoding.dllbin0 -> 23480 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/runtimes/win/lib/net46/System.Security.Cryptography.X509Certificates.dllbin0 -> 38872 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/ILLink.CustomSteps.dllbin0 -> 5632 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/ILLink.Tasks.dllbin0 -> 50328 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/Mono.Cecil.Mdb.dllbin0 -> 39936 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/Mono.Cecil.Pdb.dllbin0 -> 103592 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/Mono.Cecil.dllbin0 -> 350360 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/Newtonsoft.Json.dllbin0 -> 477696 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/NuGet.Common.dllbin0 -> 68824 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/NuGet.Configuration.dllbin0 -> 84696 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/NuGet.DependencyResolver.Core.dllbin0 -> 59608 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/NuGet.Frameworks.dllbin0 -> 106200 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/NuGet.LibraryModel.dllbin0 -> 43736 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/NuGet.Packaging.Core.dllbin0 -> 48344 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/NuGet.Packaging.dllbin0 -> 226008 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/NuGet.ProjectModel.dllbin0 -> 125144 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/NuGet.Protocol.dllbin0 -> 422104 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/NuGet.Versioning.dllbin0 -> 50392 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/illink.dllbin0 -> 138880 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/runtimes/unix/lib/netstandard1.3/System.Security.Cryptography.ProtectedData.dllbin0 -> 21960 bytes
-rwxr-xr-x.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/runtimes/win/lib/netstandard1.3/System.Security.Cryptography.ProtectedData.dllbin0 -> 35272 bytes
73 files changed, 773 insertions, 0 deletions
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/.nupkg.metadata b/.packages/illink.tasks/0.1.5-preview-1461378/.nupkg.metadata
new file mode 100644
index 0000000000..8af088efbe
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/.nupkg.metadata
@@ -0,0 +1,4 @@
+{
+ "version": 1,
+ "contentHash": "NnjBA3VGVzRHAYs9xyPfiTWs+EU6WQSxhwd0DD73e4KP3JWmJaTINvodTeNP88c4MW6s9tZARrWBjgencgTFtg=="
+} \ No newline at end of file
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/build/ILLink.CrossGen.targets b/.packages/illink.tasks/0.1.5-preview-1461378/build/ILLink.CrossGen.targets
new file mode 100755
index 0000000000..766b0d095a
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/build/ILLink.CrossGen.targets
@@ -0,0 +1,229 @@
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+
+ <PropertyGroup>
+ <CrossGenDuringPublish Condition=" '$(CrossGenDuringPublish)' == '' And '$(RuntimeIdentifier)' != '' And '$(LinkDuringPublish)' == 'true' ">true</CrossGenDuringPublish>
+ </PropertyGroup>
+
+ <PropertyGroup>
+ <IntermediateOptimizedDirName Condition=" '$(IntermediateOptimizedDirName)' == '' ">optimized</IntermediateOptimizedDirName>
+ <IntermediateOptimizedDir Condition=" '$(IntermediateOptimizedDir)' == '' ">$(IntermediateOutputPath)$(IntermediateOptimizedDirName)</IntermediateOptimizedDir>
+ <IntermediateCrossGenDirName Condition=" '$(IntermediateCrossGenDirName)' == '' ">crossgen</IntermediateCrossGenDirName>
+ <IntermediateCrossGenDir Condition=" '$(IntermediateCrossGenDir)' == '' ">$(IntermediateOutputPath)$(IntermediateCrossGenDirName)</IntermediateCrossGenDir>
+ </PropertyGroup>
+
+ <PropertyGroup>
+ <ComputeCrossGenFilesToPublishAfter Condition=" '$(LinkDuringPublish)' == 'true' ">ComputeLinkedFilesToPublish</ComputeCrossGenFilesToPublishAfter>
+ <ComputeCrossGenFilesToPublishBefore Condition=" '$(LinkDuringPublish)' != 'true' ">ComputeFilesToPublish</ComputeCrossGenFilesToPublishBefore>
+ </PropertyGroup>
+
+ <!-- Rewrite inputs to ComputeFilesToPublish, so that crossgen'd
+ files get published instead of the pre-crossgen assemblies. -->
+ <Target Name="ComputeCrossGenFilesToPublish"
+ BeforeTargets="$(ComputeCrossGenFilesToPublishBefore)"
+ AfterTargets="$(ComputeCrossGenFilesToPublishAfter)"
+ Condition=" '$(CrossGenDuringPublish)' == 'true' "
+ DependsOnTargets="_CrossGenForPublish">
+
+ <!-- Rewrite ResolvedAssembliesToPublish, preserving metadata. -->
+ <ItemGroup>
+ <_CrossGenResolvedAssembliesToPublishCandidates Include="@(ResolvedAssembliesToPublish->'$(IntermediateOptimizedDir)/%(Filename)%(Extension)')" />
+ <_CrossGenResolvedAssembliesToPublish Include="@(_CrossGenResolvedAssembliesToPublishCandidates)" Condition="Exists('%(Identity)')" />
+
+ <ResolvedAssembliesToPublish Remove="@(FilesToCrossGen)" />
+ <ResolvedAssembliesToPublish Include="@(_CrossGenResolvedAssembliesToPublish)" />
+ </ItemGroup>
+
+ <!-- Rewrite IntermediateAssembly, preserving metadata. -->
+ <ItemGroup>
+ <_CrossGenIntermediateAssemblyCandidates Include="@(IntermediateAssembly->'$(IntermediateOptimizedDir)/%(Filename)%(Extension)')" />
+ <_CrossGenIntermediateAssembly Include="@(_CrossGenIntermediateAssemblyCandidates)" Condition="Exists('%(Identity)')" />
+ <IntermediateAssembly Remove="@(FilesToCrossGen)" />
+ <IntermediateAssembly Include="@(_CrossGenIntermediateAssembly)" />
+ </ItemGroup>
+
+ </Target>
+
+ <!-- The target that runs crossgen on all input assemblies. We could
+ probably also reuse _RunCrossgen, but this gets its inputs from
+ ResolvedFileToPublish, so we would need to run crossgen after
+ ComputeFilesToPublish. -->
+ <Target Name="_CrossGenForPublish"
+ DependsOnTargets="PrepOptimizer;_ComputeCrossGenInputs">
+
+ <MakeDir Directories="$(IntermediateOptimizedDir)" />
+
+ <PropertyGroup>
+ <_CrossGenPlatformAssemblies>@(_CrossGenPlatformAssemblies)</_CrossGenPlatformAssemblies>
+ </PropertyGroup>
+
+ <ItemGroup>
+ <CrossGenInvocations Include="$(MSBuildProjectFullPath)">
+ <Properties>
+ CrossGenExe=$(Crossgen);
+ CrossGenInput=%(FilesToCrossGen.FullPath);
+ CrossGenOutput=$(IntermediateOptimizedDir)/%(Filename)%(Extension);
+ CrossGenPlatformAssemblies=$(_CrossGenPlatformAssemblies)
+ </Properties>
+ </CrossGenInvocations>
+ </ItemGroup>
+
+ <MSBuild Projects="@(CrossGenInvocations)"
+ Targets="RunCrossGenForPublish" />
+
+ </Target>
+
+ <!-- Workarounds for SDK issues around the interdependency between
+ ComposeStore targets and CrossGen targets. These let us reuse
+ PrepOptimizer from the SDK to obtain a crossgen executable for
+ the target RID. -->
+
+ <!-- _RestoreCrossgen (a dependency of PrepOptimizer) requires _TFM
+ to be set, but it is only set in an unrelated target called
+ during ComposeStore (PrepareForComposeStore). -->
+ <Target Name="_SetTFMForCrossGenRestore"
+ BeforeTargets="_RestoreCrossgen"
+ Condition=" '$(CrossGenDuringPublish)' == 'true' ">
+ <PropertyGroup>
+ <_TFM Condition=" '$(_TFM)' == '' ">$(TargetFramework)</_TFM>
+ </PropertyGroup>
+ </Target>
+
+ <!-- _RestoreCrossgen also requires _CrossProjAssetsFile to be
+ set. This path is computed from ComposeWorkingDir in the target
+ _GetCrossgenProps, but ComposeWorkingDir is set only in
+ store-related targets. We hook into _GetCrossgenProps to
+ specify where to restore crossgen. -->
+ <Target Name="_SetComposeWorkingDirForCrossGenRestore"
+ AfterTargets="_GetCrossgenProps"
+ Condition=" '$(CrossGenDuringPublish)' == 'true' ">
+ <PropertyGroup>
+ <_CrossProjFileDir>$([System.IO.Path]::GetFullPath($(IntermediateCrossGenDir)))</_CrossProjFileDir>
+ <_NetCoreRefDir>$([System.IO.Path]::Combine($(_CrossProjFileDir), "netcoreapp"))</_NetCoreRefDir>
+ <_CrossProjAssetsFile>$([System.IO.Path]::Combine($(_CrossProjFileDir), project.assets.json))</_CrossProjAssetsFile>
+ </PropertyGroup>
+ <MakeDir Directories="$(_CrossProjFileDir)" />
+ </Target>
+
+ <!-- PrepforRestoreForComposeStore (a dependency of
+ _RestoreCrossgen) sets BaseIntermediateOutputPath and
+ ProjectAssetsFile to the compose working directory. We don't
+ want this because we are not composing a package store, so we
+ save and restore these properties. -->
+ <Target Name="_SavePropsModifiedByPrepforRestoreForComposeStore"
+ BeforeTargets="PrepforRestoreForComposeStore"
+ Condition=" '$(CrossGenDuringPublish)' == 'true' ">
+ <PropertyGroup>
+ <_SavedBaseIntermediateOutputPath>$(BaseIntermediateOutputPath)</_SavedBaseIntermediateOutputPath>
+ <_SavedProjectAssetsFile>$(ProjectAssetsFile)</_SavedProjectAssetsFile>
+ </PropertyGroup>
+ </Target>
+ <Target Name="_RestorePropsModifiedByPrepforRestoreForComposeStore"
+ AfterTargets="PrepforRestoreForComposeStore">
+ <PropertyGroup>
+ <BaseIntermediateOutputPath>$(_SavedBaseIntermediateOutputPath)</BaseIntermediateOutputPath>
+ <ProjectAssetsFile>$(_SavedProjectAssetsFile)</ProjectAssetsFile>
+ </PropertyGroup>
+ </Target>
+
+ <!-- Run crossgen on a single input assembly. -->
+ <Target Name="RunCrossGenForPublish"
+ Inputs="$(CrossGenInput);$(CrossGenPlatformAssemblies)"
+ Outputs="$(CrossGenOutput)">
+
+ <!-- The property CrossGenPlatformAssemblies must be
+ semicolon-delimited for incremental build to work correctly,
+ but the directory paths have to be passed with
+ platform-specific path separators in the crossgen command.
+ -->
+ <ItemGroup>
+ <_CrossGenPlatformAssemblies Include="$(CrossGenPlatformAssemblies)" />
+ <__CrossGenPlatformAssembliesPaths Include="@(_CrossGenPlatformAssemblies->'%(RootDir)%(Directory)')" />
+ <_CrossGenPlatformAssembliesPaths Include="@(__CrossGenPlatformAssembliesPaths->Distinct())" />
+ </ItemGroup>
+
+ <PropertyGroup>
+ <_PathSeparator>$([System.IO.Path]::PathSeparator)</_PathSeparator>
+ <_CrossGenPlatformAssembliesPaths>@(_CrossGenPlatformAssembliesPaths, '$(_PathSeparator)')</_CrossGenPlatformAssembliesPaths>
+ </PropertyGroup>
+
+ <PropertyGroup>
+ <CrossGenCommand>$(CrossGenExe) -readytorun -in $(CrossGenInput) -out $(CrossGenOutput) -platform_assemblies_paths $(_CrossGenPlatformAssembliesPaths)</CrossGenCommand>
+ </PropertyGroup>
+
+ <Message Text="$(CrossGenCommand)" />
+ <Exec Command="$(CrossGenCommand)" />
+
+ </Target>
+
+ <Target Name="_ComputeCrossGenInputs"
+ DependsOnTargets="_ComputeCrossGenPlatformAssemblies;_ComputeFilesToCrossGen" />
+
+ <!-- Compute the platform assembly paths, a parameter to crossgen
+ that lets it find dependencies of the input file. This needs to
+ include the path to the input file and its dependency closure,
+ including System.Private.CoreLib. -->
+ <Target Name="_ComputeCrossGenPlatformAssemblies"
+ DependsOnTargets="_ComputeManagedResolvedAssembliesForCrossGen">
+
+ <ItemGroup>
+ <_CrossGenPlatformAssemblies Include="@(_ManagedResolvedAssembliesForCrossGen)" />
+ <_CrossGenPlatformAssemblies Include="@(IntermediateAssembly)" />
+ </ItemGroup>
+
+ </Target>
+
+ <!-- _ManagedResolvedAssembliesForCrossGen includes the app's
+ managed dependency closure, including System.Private.CoreLib,
+ but not the app itself or resource assemblies. -->
+ <Target Name="_ComputeManagedResolvedAssembliesForCrossGen">
+ <ComputeManagedAssemblies Assemblies="@(ResolvedAssembliesToPublish)">
+ <Output TaskParameter="ManagedAssemblies" ItemName="_ManagedResolvedAssembliesForCrossGen" />
+ </ComputeManagedAssemblies>
+
+ <ItemGroup>
+ <_ManagedResolvedAssembliesForCrossGen Remove="@(_ManagedResolvedAssembliesForCrossGen->WithMetadataValue('AssetType', 'resources'))" />
+ </ItemGroup>
+ </Target>
+
+ <UsingTask TaskName="FilterByMetadata" AssemblyFile="$(LinkTaskDllPath)" />
+ <!-- This computes the default set of files that we want to be
+ crossgen'd. Some of these may already be crossgen images, and
+ these will not be crossgen'd again. The default is to crossgen
+ the app and platform libraries. Defaults will be used only if
+ FilesToCrossGen hasn't been set elsewhere, allowing users and
+ other props/targets to select what will be crossgen'd. -->
+ <Target Name="_ComputeDefaultFilesToCrossGen"
+ DependsOnTargets="_ComputeManagedResolvedAssembliesForCrossGen;_ComputePlatformLibraries"
+ Condition=" '@(FilesToCrossGen->Count())' == '0' ">
+
+ <FilterByMetadata Items="@(_ManagedResolvedAssembliesForCrossGen)"
+ MetadataName="Filename"
+ MetadataValues="@(PlatformLibraries->'%(Filename)')">
+ <Output TaskParameter="FilteredItems" ItemName="_PlatformLibrariesForCrossGen" />
+ </FilterByMetadata>
+
+ <ItemGroup>
+ <FilesToCrossGen Include="@(IntermediateAssembly)" />
+ <FilesToCrossGen Include="@(_PlatformLibrariesForCrossGen)" />
+ </ItemGroup>
+
+ </Target>
+
+ <UsingTask TaskName="ComputeCrossgenedAssemblies" AssemblyFile="$(LinkTaskDllPath)" />
+ <Target Name="_ComputeFilesToCrossGen"
+ DependsOnTargets="_ComputeDefaultFilesToCrossGen">
+
+ <ComputeCrossgenedAssemblies Assemblies="@(FilesToCrossGen)">
+ <Output TaskParameter="CrossgenedAssemblies" ItemName="_CrossgenedFiles" />
+ </ComputeCrossgenedAssemblies>
+
+ <!-- Don't try to run crossgen on assemblies that are already
+ crossgen'd. -->
+ <ItemGroup>
+ <FilesToCrossGen Remove="@(_CrossgenedFiles)" />
+ </ItemGroup>
+
+ <Message Text="files to crossgen: @(FilesToCrossGen)" />
+ </Target>
+
+</Project>
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/build/ILLink.Tasks.targets b/.packages/illink.tasks/0.1.5-preview-1461378/build/ILLink.Tasks.targets
new file mode 100755
index 0000000000..45ca66cc2f
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/build/ILLink.Tasks.targets
@@ -0,0 +1,528 @@
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+
+ <PropertyGroup>
+ <_LinkTaskDirectoryRoot>$(MSBuildThisFileDirectory)../tools/</_LinkTaskDirectoryRoot>
+ <_LinkTaskTFM Condition=" '$(MSBuildRuntimeType)' == 'Core' ">netcoreapp2.0</_LinkTaskTFM>
+ <_LinkTaskTFM Condition=" '$(_LinkTaskTFM)' == '' ">net46</_LinkTaskTFM>
+ <_LinkTaskDirectory>$(_LinkTaskDirectoryRoot)$(_LinkTaskTFM)/</_LinkTaskDirectory>
+ <LinkTaskDllPath Condition=" '$(LinkTaskDllPath)' == '' ">$(_LinkTaskDirectory)ILLink.Tasks.dll</LinkTaskDllPath>
+ </PropertyGroup>
+
+ <PropertyGroup>
+ <!-- LinkDuringPublish allows the linker to be disabled by passing
+ a property on the command-line. (/p:LinkDuringPublish=false)
+ -->
+ <LinkDuringPublish Condition=" '$(LinkDuringPublish)' == '' ">true</LinkDuringPublish>
+ <LinkDuringPublish Condition=" '$(LinkDuringPublish)' != 'true' ">false</LinkDuringPublish>
+ <ShowLinkerSizeComparison Condition=" '$(ShowLinkerSizeComparison)' == '' ">false</ShowLinkerSizeComparison>
+ <LinkerDumpDependencies Condition=" '$(LinkerDumpDependencies)' == '' ">false</LinkerDumpDependencies>
+ <UsedApplicationAssemblyAction Condition=" '$(UsedApplicationAssemblyAction)' == '' ">Copy</UsedApplicationAssemblyAction>
+ <UnusedApplicationAssemblyAction Condition=" '$(UnusedApplicationAssemblyAction)' == '' ">Delete</UnusedApplicationAssemblyAction>
+ <UsedPlatformAssemblyAction Condition=" '$(UsedPlatformAssemblyAction)' == '' and '$(SelfContained)' == 'true' ">AddBypassNGen</UsedPlatformAssemblyAction>
+ <UsedPlatformAssemblyAction Condition=" '$(UsedPlatformAssemblyAction)' == '' ">Skip</UsedPlatformAssemblyAction>
+ <UnusedPlatformAssemblyAction Condition=" '$(UnusedPlatformAssemblyAction)' == '' and '$(SelfContained)' == 'true' ">Delete</UnusedPlatformAssemblyAction>
+ <UnusedPlatformAssemblyAction Condition=" '$(UnusedPlatformAssemblyAction)' == '' ">Skip</UnusedPlatformAssemblyAction>
+ <RootAllApplicationAssemblies Condition=" '$(RootAllApplicationAssemblies)' == '' ">true</RootAllApplicationAssemblies>
+ <RootAllApplicationAssemblies Condition=" '$(RootAllApplicationAssemblies)' != 'true' ">false</RootAllApplicationAssemblies>
+ <LinkerTrimNativeDeps Condition=" '$(LinkerTrimNativeDeps)' == '' ">true</LinkerTrimNativeDeps>
+ <LinkerTrimNativeDeps Condition=" '$(LinkerTrimNativeDeps)' != 'true' ">false</LinkerTrimNativeDeps>
+ <ClearInitLocals Condition=" '$(ClearInitLocals)' == '' ">false</ClearInitLocals>
+ </PropertyGroup>
+
+ <!-- This depends on LinkDuringPublish, so it needs to be imported
+ after the property is set. -->
+ <Import Project="$(MSBuildThisFileDirectory)ILLink.CrossGen.targets" />
+
+ <ItemGroup>
+ <!-- LinkerRootDescriptors (the ItemGroup) is set to contain
+ LinkerRootDescriptors (the Property), which allows adding
+ linker roots on the command-line
+ (/p:LinkerRootDescriptors=path/to/a.xml;path/to/b.xml;). These
+ are relative paths from the project to the xml file.
+ LinkerRootDescriptors (the ItemGroup) can also be set in the
+ project file, and these will be included in addition to those
+ specified on the command-line. -->
+ <LinkerRootDescriptors Include="$(LinkerRootDescriptors)" />
+ </ItemGroup>
+
+ <!-- By default, the linker will generate roots for the intermediate
+ assembly that root everything in the assembly. -->
+ <PropertyGroup>
+ <_IntermediateRootDescriptorName Condition=" '$(_IntermediateRootDescriptorName)' == '' ">IntermediateAssemblyRoots.xml</_IntermediateRootDescriptorName>
+ <_IntermediateRootDescriptorPath Condition=" '$(_IntermediateRootDescriptorPath)' == '' ">$(IntermediateOutputPath)$(_IntermediateRootDescriptorName)</_IntermediateRootDescriptorPath>
+ </PropertyGroup>
+
+ <!-- The linker will place linked assemblies into an intermediate
+ directory, and hook into the rest of the publish pipeline to
+ publish the linked assemblies instead of those given as input
+ to the linker. -->
+ <PropertyGroup>
+ <IntermediateLinkDirName Condition=" '$(IntermediateLinkDirName)' == '' ">linked</IntermediateLinkDirName>
+ <IntermediateLinkDir Condition=" '$(IntermediateLinkDir)' == '' ">$(IntermediateOutputPath)$(IntermediateLinkDirName)</IntermediateLinkDir>
+ </PropertyGroup>
+
+ <!-- Used to enable incremental build for the link target. -->
+ <PropertyGroup>
+ <_LinkSemaphore>$(IntermediateOutputPath)Link.semaphore</_LinkSemaphore>
+ </PropertyGroup>
+
+ <!--
+ This target runs the linker during the publish pipeline. The
+ publish pipeline has a target called ComputeFilesToPublish,
+ which computes the ItemGroup ResolvedFileToPublish. To extend
+ this target, we insert a target before
+ ComputeFilesToPublish. Our target rewrites the relevant inputs
+ (@(IntermediateAssembly), @(ResolvedAssembliesToPublish)). This
+ lets ComputeFilesToPublish be ignorant of the linker, but
+ changes the meaning of IntermediateAssembly and
+ ResolvedAssembliesToPublish.
+
+ To include linked pdbs in the publish output, we also rewrite
+ the ComputeFilesToPublish input
+ @(_DebugSymbolsIntermediatePath). Note that this is a private
+ itemgroup, so relying on this is not ideal.
+ -->
+ <!-- DependsOnTargets here doesn't include the targets that compute
+ ResolvedAssembliesToPublish or IntermediateAssembly, because
+ ComputeFilesToPublish already depends on
+ these. BeforeTargets="ComputeFilesToPublish" ensures that
+ ComputeLinkedFilesToPublish will run before
+ ComputeFilesToPublish, but after all of its dependencies. -->
+ <Target Name="ComputeLinkedFilesToPublish"
+ BeforeTargets="ComputeFilesToPublish"
+ DependsOnTargets="_ComputeLinkedAssemblies;_FindNativeDeps"
+ Condition=" '$(LinkDuringPublish)' == 'true' ">
+ <!-- Rewrite ResolvedAssembliesToPublish, which is an input to
+ ComputeFilesToPublish. -->
+ <ItemGroup>
+ <ResolvedAssembliesToPublish Remove="@(_ManagedAssembliesToLink)" />
+ <ResolvedAssembliesToPublish Remove="@(_NativeResolvedDepsToPublish)" />
+ <ResolvedAssembliesToPublish Include="@(_NativeKeptDepsToPublish)" />
+ <ResolvedAssembliesToPublish Include="@(_LinkedResolvedAssemblies)" />
+ </ItemGroup>
+
+ <!-- Rewrite IntermediateAssembly, which is an input to
+ ComputeFilesToPublish. -->
+ <ItemGroup>
+ <IntermediateAssembly Remove="@(IntermediateAssembly)" />
+ <IntermediateAssembly Include="@(_LinkedIntermediateAssembly)" />
+ </ItemGroup>
+
+ <!-- Rewrite _DebugSymbolsIntermediatePath, which is an input to
+ ComputeFilesToPublish. -->
+ <ItemGroup>
+ <_DebugSymbolsIntermediatePath Remove="@(_DebugSymbolsIntermediatePath)" Condition=" '$(_DebugSymbolsProduced)' == 'true' " />
+ <_DebugSymbolsIntermediatePath Include="@(_LinkedDebugSymbols)" Condition=" '$(_DebugSymbolsProduced)' == 'true' " />
+ </ItemGroup>
+ </Target>
+
+ <!-- The SDK has a target called ComputeRefAssembliesToPublish that
+ runs after ComputeFilesToPublish and rewrites
+ ResolvedFileToPublish to include any reference assemblies that
+ aren't in ResolvedAssembliesToPublish. Because
+ ComputeLinkedFilesToPublish changes ResolvedAssembliesToPublish
+ (replacing the original assemblies with linked assemblies),
+ this would change the behavior of
+ ComputeRefAssembliesToPublish, resulting in extra assemblies
+ being placed in the refs directory of the output. To prevent
+ this, we save ResolvedAssembliesToPublish before linking, and
+ restore it to its pre-link state before
+ ComputeRefAssembliesToPublish. -->
+ <Target Name="SaveResolvedAssembliesToPublish"
+ BeforeTargets="ComputeLinkedFilesToPublish">
+ <ItemGroup>
+ <PreLinkResolvedAssembliesToPublish Include="@(ResolvedAssembliesToPublish)" />
+ </ItemGroup>
+ </Target>
+ <Target Name="RestoreResolvedAssembliesToPublish"
+ BeforeTargets="ComputeRefAssembliesToPublish">
+ <ItemGroup>
+ <ResolvedAssembliesToPublish Remove="@(ResolvedAssembliesToPublish)" />
+ <ResolvedAssembliesToPublish Include="@(PreLinkResolvedAssembliesToPublish)" />
+ </ItemGroup>
+ </Target>
+
+ <!-- Print out a size comparison report for the linked
+ assemblies. This is disabled by default, but can be turned on
+ by setting $(ShowLinkerSizeComparison) to true. This runs after
+ the ComputeFilesToPublish, so it is output even during
+ incremental builds and takes into account all transformations
+ on the files to be published, including link and crossgen. -->
+ <UsingTask TaskName="CompareAssemblySizes" AssemblyFile="$(LinkTaskDllPath)" />
+ <Target Name="_CompareLinkedAssemblySizes"
+ AfterTargets="ComputeFilesToPublish"
+ DependsOnTargets="_ComputeManagedAssembliesToLink;_ComputeLinkedAssemblies"
+ Condition=" '$(LinkDuringPublish)' == 'true' And '$(ShowLinkerSizeComparison)' == 'true' ">
+ <FilterByMetadata Items="@(ResolvedAssembliesToPublish);@(IntermediateAssembly)"
+ MetadataName="Filename"
+ MetadataValues="@(_ManagedAssembliesToLink->'%(Filename)')">
+ <Output TaskParameter="FilteredItems" ItemName="_FinalAssembliesTouchedByLinker" />
+ </FilterByMetadata>
+ <CompareAssemblySizes UnlinkedAssemblies="@(_ManagedAssembliesToLink)"
+ LinkedAssemblies="@(_FinalAssembliesTouchedByLinker)" />
+ </Target>
+
+
+ <!-- Computes _LinkedResolvedAssemblies,
+ _LinkedIntermediateAssembly, and
+ _LinkedDebugSymbols. _LinkedResolvedAssemblies needs to keep
+ metadata from _ManagedResolvedAssembliesToPublish, since this
+ is used by ComputeFilesToPublish. -->
+ <Target Name="_ComputeLinkedAssemblies"
+ DependsOnTargets="_ComputeManagedResolvedAssembliesToPublish;ILLink">
+ <ItemGroup>
+ <__LinkedResolvedAssemblies Include="@(_ManagedResolvedAssembliesToPublish->'$(IntermediateLinkDir)/%(Filename)%(Extension)')" />
+ <__LinkedResolvedAssemblies Remove="@(_DuplicateManagedAssembliesToSkip->'$(IntermediateLinkDir)/%(Filename)%(Extension)')" />
+ <_LinkedResolvedAssemblies Include="@(__LinkedResolvedAssemblies)" Condition="Exists('%(Identity)')" />
+ </ItemGroup>
+
+ <ItemGroup>
+ <__LinkedIntermediateAssembly Include="@(IntermediateAssembly->'$(IntermediateLinkDir)/%(Filename)%(Extension)')" />
+ <_LinkedIntermediateAssembly Include="@(__LinkedIntermediateAssembly)" Condition="Exists('%(Identity)')" />
+ </ItemGroup>
+
+ <ItemGroup>
+ <__LinkedDebugSymbols Include="@(_DebugSymbolsIntermediatePath->'$(IntermediateLinkDir)/%(Filename)%(Extension)')"
+ Condition=" '$(_DebugSymbolsProduced)' == 'true' " />
+ <_LinkedDebugSymbols Include="@(__LinkedDebugSymbols)"
+ Condition="Exists('%(Identity)') And '$(_DebugSymbolsProduced)' == 'true' " />
+ </ItemGroup>
+
+ </Target>
+
+ <!-- Compute the default set of assemblies to crossgen after
+ linking. This will include any assemblies modified by the
+ linker that were crossgen'd before linking. -->
+ <Target Name="_ComputeLinkedAssembliesToCrossgen"
+ AfterTargets="_ComputeLinkedAssemblies"
+ Condition=" '$(CrossGenDuringPublish)' == 'true' ">
+ <FilterByMetadata Items="@(_ManagedResolvedAssembliesToPublish);@(IntermediateAssembly)"
+ MetadataName="Filename"
+ MetadataValues="@(_LinkedResolvedAssemblies->'%(Filename)');@(_LinkedIntermediateAssembly->'%(Filename)')">
+ <Output TaskParameter="FilteredItems" ItemName="_OriginalLinkedAssemblies" />
+ </FilterByMetadata>
+
+ <ComputeCrossgenedAssemblies Assemblies="@(_OriginalLinkedAssemblies)">
+ <Output TaskParameter="CrossgenedAssemblies" ItemName="_OriginalLinkedAssembliesThatWereCrossgened" />
+ </ComputeCrossgenedAssemblies>
+
+ <!-- Ideally, we would remember which assemblies were R2R and
+ which were fragile crossgen-ed, and do the same after
+ linking. Currently this makes no difference because
+ System.Private.CoreLib is the only fragile image, and it
+ can't be ready-to-run crossgen-ed. -->
+ <ItemGroup>
+ <_LinkedAssembliesToCrossgen Include="@(_OriginalLinkedAssembliesThatWereCrossgened->'$(IntermediateLinkDir)/%(Filename)%(Extension)')" />
+ <FilesToCrossgen Include="@(_LinkedAssembliesToCrossgen)" />
+ </ItemGroup>
+
+ </Target>
+
+ <UsingTask TaskName="SetAssemblyActions" AssemblyFile="$(LinkTaskDllPath)" />
+ <Target Name="_SetAssemblyActions"
+ DependsOnTargets="_ComputeManagedAssembliesToLink;_ComputePlatformLibraries">
+
+ <ItemGroup>
+ <_PlatformAssembliesToLink Include="@(PlatformLibraries->'%(Filename)')" />
+ <_ApplicationAssembliesToLink Include="@(_ManagedAssembliesToLink->'%(Filename)')" />
+ <_ApplicationAssembliesToLink Remove="@(_PlatformAssembliesToLink)" />
+ </ItemGroup>
+
+ <SetAssemblyActions AssemblyPaths="@(_ManagedAssembliesToLink)"
+ ApplicationAssemblyNames="@(_ApplicationAssembliesToLink)"
+ PlatformAssemblyNames="@(_PlatformAssembliesToLink)"
+ UsedApplicationAssemblyAction="$(UsedApplicationAssemblyAction)"
+ UnusedApplicationAssemblyAction="$(UnusedApplicationAssemblyAction)"
+ UsedPlatformAssemblyAction="$(UsedPlatformAssemblyAction)"
+ UnusedPlatformAssemblyAction="$(UnusedPlatformAssemblyAction)">
+ <Output TaskParameter="AssemblyPathsWithActions" ItemName="_ManagedAssembliesToLinkWithActions" />
+ </SetAssemblyActions>
+
+ <ItemGroup>
+ <_ManagedAssembliesToLink Remove="@(_ManagedAssembliesToLink)" />
+ <_ManagedAssembliesToLink Include="@(_ManagedAssembliesToLinkWithActions)" />
+ </ItemGroup>
+
+ </Target>
+
+ <!-- This calls the linker. Inputs are the managed assemblies to
+ link, and root specifications. The semaphore enables msbuild to
+ skip linking during an incremental build, when the semaphore is
+ up to date with respect to _ManagedAssembliesToLink. -->
+ <UsingTask TaskName="ILLink" AssemblyFile="$(LinkTaskDllPath)" />
+ <Target Name="ILLink"
+ DependsOnTargets="_ComputeManagedAssembliesToLink;_ComputeLinkerRootAssemblies;_ComputeLinkerRootDescriptors;_SetAssemblyActions"
+ Inputs="@(_ManagedAssembliesToLink);@(LinkerRootDescriptors);$(MSBuildAllProjects)"
+ Outputs="$(_LinkSemaphore)">
+ <!-- These extra arguments have been hard-coded for now, as this
+ is what we want to use when linking a self-contained app. In
+ the future we will want to generate these depending on the
+ scenario in which the linker is invoked. -->
+ <PropertyGroup>
+ <ExtraLinkerArgs Condition=" '$(ExtraLinkerArgs)' == '' ">-t -l none -b true --skip-unresolved true --verbose</ExtraLinkerArgs>
+ </PropertyGroup>
+ <ILLink AssemblyPaths="@(_ManagedAssembliesToLink)"
+ RootAssemblyNames="@(LinkerRootAssemblies)"
+ RootDescriptorFiles="@(LinkerRootDescriptors)"
+ OutputDirectory="$(IntermediateLinkDir)"
+ DumpDependencies="$(LinkerDumpDependencies)"
+ ClearInitLocals="$(ClearInitLocals)"
+ ClearInitLocalsAssemblies="$(ClearInitLocalsAssemblies)"
+ ExtraArgs="$(ExtraLinkerArgs)" />
+
+ <Touch Files="$(_LinkSemaphore)" AlwaysCreate="true">
+ <Output TaskParameter="TouchedFiles" ItemName="FileWrites" />
+ </Touch>
+ </Target>
+
+ <!-- FindNativeDeps scans the managed assemblies kept by the linker
+ to find references to native files. It outputs the found native
+ dependencies, and these are prevented from being published. -->
+ <UsingTask TaskName="FindNativeDeps" AssemblyFile="$(LinkTaskDllPath)" />
+ <Target Name="_FindNativeDeps"
+ DependsOnTargets="_ComputeLinkedAssemblies"
+ Condition=" '$(LinkerTrimNativeDeps)' == 'true' ">
+ <ItemGroup>
+ <_NativeResolvedDepsToPublish Include="@(ResolvedAssembliesToPublish)" />
+ <_NativeResolvedDepsToPublish Remove="@(_ManagedResolvedAssembliesToPublish)" />
+ <_NativeResolvedDepsToPublish Remove="@(_NativeResolvedDepsToPublish->WithMetadataValue('AssetType', 'resources'))" />
+ </ItemGroup>
+
+ <ItemGroup>
+ <_ManagedLinkedAssemblies Include="@(_LinkedResolvedAssemblies)" />
+ <_ManagedLinkedAssemblies Include="@(_LinkedIntermediateAssembly)" />
+ </ItemGroup>
+
+ <ItemGroup>
+ <_NativeDepsToAlwaysKeep Include="coreclr.dll;libcoreclr.dylib;libcoreclr.so" />
+ <_NativeDepsToAlwaysKeep Include="clrjit.dll;libclrjit.dylib;libclrjit.so" />
+ <_NativeDepsToAlwaysKeep Include="hostfxr.dll;libhostfxr.dylib;libhostfxr.so" />
+ <_NativeDepsToAlwaysKeep Include="hostpolicy.dll;libhostpolicy.dylib;libhostpolicy.so" />
+ </ItemGroup>
+
+ <FindNativeDeps ManagedAssemblyPaths="@(_ManagedLinkedAssemblies);@(_DuplicateManagedAssembliesToSkip)"
+ NativeDepsPaths="@(_NativeResolvedDepsToPublish)"
+ NativeDepsToKeep="@(_NativeDepsToAlwaysKeep)">
+ <Output TaskParameter="KeptNativeDepsPaths" ItemName="_NativeKeptDepsToPublish" />
+ </FindNativeDeps>
+
+ </Target>
+
+ <!-- Computes the managed assemblies that are input to the
+ linker. Includes managed assemblies from
+ ResolvedAssembliesToPublish, and IntermediateAssembly. -->
+ <UsingTask TaskName="FindDuplicatesByMetadata" AssemblyFile="$(LinkTaskDllPath)" />
+ <Target Name="_ComputeManagedAssembliesToLink"
+ DependsOnTargets="_ComputeManagedResolvedAssembliesToPublish">
+ <ItemGroup>
+ <_ManagedAssembliesToLink Include="@(IntermediateAssembly)" />
+ <_ManagedAssembliesToLink Include="@(_ManagedResolvedAssembliesToPublish)" />
+ </ItemGroup>
+
+ <!-- Remove duplicate implementation dlls. This can happen if a
+ portable app has platform-specific managed assemblies. The
+ linker isn't currently able to analyze multiple assemblies
+ with the same identity, so we skip these, keeping only one
+ representative assembly from each set of duplicates. -->
+ <FindDuplicatesByMetadata Items="@(_ManagedAssembliesToLink)"
+ MetadataName="Filename">
+ <Output TaskParameter="DuplicateItems" ItemName="_DuplicateManagedAssemblies" />
+ <Output TaskParameter="DuplicateRepresentatives" ItemName="_DuplicateManagedAssembliesToLink" />
+ </FindDuplicatesByMetadata>
+ <ItemGroup>
+ <_DuplicateManagedAssembliesToSkip Include="@(_DuplicateManagedAssemblies)" />
+ <_DuplicateManagedAssembliesToSkip Remove="@(_DuplicateManagedAssembliesToLink)" />
+ <_ManagedAssembliesToLink Remove="@(_DuplicateManagedAssembliesToSkip)" />
+ </ItemGroup>
+
+ <!-- Portable publish: need to supply the linker with any needed
+ reference assemblies as well.
+
+ Sometimes assemblies have separate reference and
+ implementation assemblies. In these cases, prefer the
+ implementation assembly, and prevent inclusion of the ref
+ assembly by filtering on filename instead of the full
+ path. -->
+ <FilterByMetadata Items="@(ReferencePath->'%(ResolvedPath)')"
+ MetadataName="Filename"
+ MetadataValues="@(_ManagedAssembliesToLink->'%(Filename)')"
+ Condition=" '$(SelfContained)' != 'true' ">
+ <Output TaskParameter="FilteredItems" ItemName="_ReferencedLibrariesToExclude" />
+ </FilterByMetadata>
+ <ItemGroup Condition=" '$(SelfContained)' != 'true' ">
+ <_ReferencedLibraries Include="@(ReferencePath->'%(ResolvedPath)')" Exclude="@(_ReferencedLibrariesToExclude)" />
+ <_ManagedAssembliesToLink Include="@(_ReferencedLibraries)" />
+ </ItemGroup>
+
+ </Target>
+
+
+ <!-- Computes the managed subset of
+ ResolvedAssembliesToPublish. This needs to preserve metadata,
+ because it is later used to compute the linked assemblies with
+ metadata that gets used by the rest of the publish
+ pipeline. This needs to run even during incremental build,
+ because we use the list of managed assemblies to filter the
+ publish output. -->
+ <UsingTask TaskName="ComputeManagedAssemblies" AssemblyFile="$(LinkTaskDllPath)" />
+ <Target Name="_ComputeManagedResolvedAssembliesToPublish">
+ <!-- TODO: Is there a better way to get the managed assemblies
+ from ResolvedAssembliesToPublish? We may be able to check for
+ AssetType="runtime" on managed assemblies - would that give
+ the same set of assemblies? -->
+ <ComputeManagedAssemblies Assemblies="@(ResolvedAssembliesToPublish)">
+ <Output TaskParameter="ManagedAssemblies" ItemName="_ManagedResolvedAssembliesToPublish" />
+ </ComputeManagedAssemblies>
+ <!-- For now, hard-code System.Private.CoreLib.ni, the only .ni
+ file we've been encountering. This is a special case matching
+ how we compute the linker roots by default - we always root
+ System.Private.CoreLib, so we want to keep it in the publish
+ output and the generated deps.json file. Excluding it from
+ _ManagedResolvedAssembliesToPublish will prevent it from
+ getting filtered out of the publish output later.
+
+ In the future we may want to detect ngen assemblies and
+ filter them more robustly. -->
+ <!-- TODO: Which .ni files do we expect to be in
+ ResolvedAssembliesToPublish? -->
+ <ItemGroup>
+ <_ManagedResolvedAssembliesToPublish Remove="@(_ManagedResolvedAssembliesToPublish->WithMetadataValue('Filename', 'System.Private.CoreLib.ni'))" />
+ </ItemGroup>
+ <!-- Some of the managed dlls are satellite assemblies containing
+ binary resources that we don't want to link. -->
+ <ItemGroup>
+ <_ManagedResolvedAssembliesToPublish Remove="@(_ManagedResolvedAssembliesToPublish->WithMetadataValue('AssetType', 'resources'))" />
+ </ItemGroup>
+ </Target>
+
+
+ <!-- Compute the assemblies the linker should mark as roots. By
+ default, these are passed as "-a", but this is an
+ implementation detail of the link task and should not be relied
+ upon in general. In the future we may add other inputs to the
+ link task to control how these are rooted.
+ -->
+ <!-- We may want to add an additional mode in which we root only the
+ assembly we have built, rooting all entry points visible from
+ the outside of the assembly. We need to discuss whether this
+ even makes sense during publish, since typically libraries get
+ packaged via "dotnet pack", and the pack task takes input from
+ build, not from publish. Thus linking the library itself should
+ be part of the build step or pack step, OR pack could be made
+ to work on the publish output. -->
+ <Target Name="_ComputeLinkerRootAssemblies"
+ DependsOnTargets="_ComputeManagedResolvedAssembliesToPublish;_ComputePlatformLibraries;_CheckSystemPrivateCorelibEmbeddedRoots">
+ <!-- If RootAllApplicationAssemblies is true, roots are everything
+ minus the framework assemblies. This doesn't include the
+ intermediate assembly, because we root it separately using an
+ xml file, which lets us explicitly root everything.
+
+ If RootAllApplicationAssemblies is false, only intermediate
+ assembly's Main method is rooted.
+
+ System.Private.CoreLib is rooted unless it has an embedded
+ xml descriptor file. -->
+
+ <ItemGroup Condition=" '$(RootAllApplicationAssemblies)' == 'true' ">
+ <_LinkerRootAssemblies Include="@(_ManagedResolvedAssembliesToPublish->'%(Filename)')" />
+ <_LinkerRootAssemblies Remove="@(PlatformLibraries->'%(Filename)')" />
+ </ItemGroup>
+ <RemoveDuplicates Inputs="@(_LinkerRootAssemblies)"
+ Condition=" '$(RootAllApplicationAssemblies)' == 'true' ">
+ <Output TaskParameter="Filtered" ItemName="_UniqueLinkerRootAssemblies" />
+ </RemoveDuplicates>
+ <ItemGroup Condition=" '$(RootAllApplicationAssemblies)' == 'true' ">
+ <LinkerRootAssemblies Include="@(_UniqueLinkerRootAssemblies)" />
+ </ItemGroup>
+
+ <ItemGroup Condition=" '$(RootAllApplicationAssemblies)' == 'false' ">
+ <LinkerRootAssemblies Include="@(IntermediateAssembly)" />
+ </ItemGroup>
+
+ <ItemGroup Condition=" '$(_SPCHasEmbeddedRootDescriptor)' != 'true' ">
+ <LinkerRootAssemblies Include="@(_ManagedResolvedAssembliesToPublish->'%(Filename)')" Condition=" '%(Filename)' == 'System.Private.CoreLib' " />
+ </ItemGroup>
+
+ </Target>
+
+ <UsingTask TaskName="CheckEmbeddedRootDescriptor" AssemblyFile="$(LinkTaskDllPath)" />
+ <Target Name="_CheckSystemPrivateCorelibEmbeddedRoots" Condition=" '$(SelfContained)' == 'true' "
+ DependsOnTargets="_ComputeManagedAssembliesToLink">
+ <CheckEmbeddedRootDescriptor AssemblyPath="@(_ManagedAssembliesToLink->WithMetadataValue('Filename', 'System.Private.CoreLib'))">
+ <Output TaskParameter="HasEmbeddedRootDescriptor" PropertyName="_SPCHasEmbeddedRootDescriptor" />
+ </CheckEmbeddedRootDescriptor>
+ </Target>
+
+ <!-- Platform libraries are the managed runtime assets needed by the
+ "platform", currently Microsoft.NETCore.App. -->
+ <UsingTask TaskName="GetRuntimeLibraries" AssemblyFile="$(LinkTaskDllPath)" />
+ <Target Name="_ComputePlatformLibraries"
+ DependsOnTargets="_ComputeManagedAssembliesToLink">
+ <GetRuntimeLibraries Condition=" '$(SelfContained)' == 'true' "
+ AssetsFilePath="$(ProjectAssetsFile)"
+ TargetFramework="$(TargetFrameworkMoniker)"
+ RuntimeIdentifier="$(RuntimeIdentifier)"
+ PackageNames="$(MicrosoftNETPlatformLibrary)">
+ <Output TaskParameter="RuntimeLibraries" ItemName="PlatformLibraries" />
+ </GetRuntimeLibraries>
+
+ <ItemGroup>
+ <PlatformLibraries Include="@(_ManagedAssembliesToLink)" Condition=" '%(Filename)' == 'System.Private.CoreLib' " />
+ </ItemGroup>
+
+ <ItemGroup Condition=" '$(SelfContained)' != 'true' ">
+ <!-- Portable publish: computed referenced-not-published set in _ComputeManagedAssembliesToLink -->
+ <PlatformLibraries Include="@(_ReferencedLibraries)" />
+ </ItemGroup>
+ </Target>
+
+
+ <!-- This target prepares the LinkerRootDescriptors itemgroup for
+ input to the link task. In addition to including user-specified
+ LinkerRootDescriptors in the ItemGroup statically above, we
+ dynamically include the generated descriptor files for the
+ intermediate assembly. -->
+ <Target Name="_ComputeLinkerRootDescriptors"
+ DependsOnTargets="_GenerateIntermediateRootDescriptor"
+ Condition=" '$(RootAllApplicationAssemblies)' == 'true' ">
+ <ItemGroup>
+ <LinkerRootDescriptors Include="$(_IntermediateRootDescriptorPath)" />
+ </ItemGroup>
+ </Target>
+
+
+ <!-- Generates the xml root descriptor file that completely roots
+ the intermediate assembly. -->
+ <UsingTask TaskName="CreateRootDescriptorFile" AssemblyFile="$(LinkTaskDllPath)" />
+ <Target Name="_GenerateIntermediateRootDescriptor"
+ Inputs="@(IntermediateAssembly)"
+ Outputs="$(_IntermediateRootDescriptorPath)"
+ Condition=" '$(RootAllApplicationAssemblies)' == 'true' ">
+ <CreateRootDescriptorFile AssemblyNames="@(IntermediateAssembly->'%(Filename)')"
+ RootDescriptorFilePath="$(_IntermediateRootDescriptorPath)" />
+ </Target>
+
+ <!-- Uses _PublishConflictPackageFiles, an input to the publish deps
+ file generation target, to exclude the removed managed
+ assemblies and native dependencies from the generated deps
+ file. -->
+ <UsingTask TaskName="ComputeRemovedAssemblies" AssemblyFile="$(LinkTaskDllPath)" />
+ <Target Name="_ExcludeRemovedFilesFromDepFileGeneration"
+ DependsOnTargets="_ComputeManagedResolvedAssembliesToPublish;_ComputeLinkedAssemblies;_FindNativeDeps;_HandlePublishFileConflicts"
+ BeforeTargets="GeneratePublishDependencyFile"
+ Condition=" '$(LinkDuringPublish)' == 'true' ">
+ <ComputeRemovedAssemblies InputAssemblies="@(_ManagedAssembliesToLink)"
+ KeptAssemblies="@(_LinkedResolvedAssemblies)">
+ <Output TaskParameter="RemovedAssemblies" ItemName="_RemovedManagedAssemblies" />
+ </ComputeRemovedAssemblies>
+
+ <ItemGroup>
+ <_RemovedNativeDeps Include="@(_NativeResolvedDepsToPublish)" />
+ <_RemovedNativeDeps Remove="@(_NativeKeptDepsToPublish)" />
+
+ <_PublishConflictPackageFiles Include="@(_RemovedManagedAssemblies)" />
+ <_PublishConflictPackageFiles Include="@(_RemovedNativeDeps)" />
+ </ItemGroup>
+ </Target>
+
+</Project>
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/illink.tasks.0.1.5-preview-1461378.nupkg b/.packages/illink.tasks/0.1.5-preview-1461378/illink.tasks.0.1.5-preview-1461378.nupkg
new file mode 100644
index 0000000000..24721636fe
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/illink.tasks.0.1.5-preview-1461378.nupkg
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/illink.tasks.0.1.5-preview-1461378.nupkg.sha512 b/.packages/illink.tasks/0.1.5-preview-1461378/illink.tasks.0.1.5-preview-1461378.nupkg.sha512
new file mode 100644
index 0000000000..3a11a073e0
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/illink.tasks.0.1.5-preview-1461378.nupkg.sha512
@@ -0,0 +1 @@
+NnjBA3VGVzRHAYs9xyPfiTWs+EU6WQSxhwd0DD73e4KP3JWmJaTINvodTeNP88c4MW6s9tZARrWBjgencgTFtg== \ No newline at end of file
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/illink.tasks.nuspec b/.packages/illink.tasks/0.1.5-preview-1461378/illink.tasks.nuspec
new file mode 100755
index 0000000000..e2f36b38b2
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/illink.tasks.nuspec
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
+ <metadata>
+ <id>ILLink.Tasks</id>
+ <version>0.1.5-preview-1461378</version>
+ <authors>ILLink.Tasks</authors>
+ <owners>ILLink.Tasks</owners>
+ <requireLicenseAcceptance>false</requireLicenseAcceptance>
+ <description>linker tasks</description>
+ </metadata>
+</package> \ No newline at end of file
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/ILLink.CustomSteps.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/ILLink.CustomSteps.dll
new file mode 100755
index 0000000000..4dec97fb5e
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/ILLink.CustomSteps.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/ILLink.Tasks.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/ILLink.Tasks.dll
new file mode 100755
index 0000000000..cf3b5b50e9
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/ILLink.Tasks.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/Microsoft.Build.Framework.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/Microsoft.Build.Framework.dll
new file mode 100755
index 0000000000..709e75a9fa
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/Microsoft.Build.Framework.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/Microsoft.Build.Utilities.Core.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/Microsoft.Build.Utilities.Core.dll
new file mode 100755
index 0000000000..e9fd61b50b
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/Microsoft.Build.Utilities.Core.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/Microsoft.Win32.Primitives.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/Microsoft.Win32.Primitives.dll
new file mode 100755
index 0000000000..d7b2a2ce4c
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/Microsoft.Win32.Primitives.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/Mono.Cecil.Mdb.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/Mono.Cecil.Mdb.dll
new file mode 100755
index 0000000000..a3a9acf332
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/Mono.Cecil.Mdb.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/Mono.Cecil.Pdb.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/Mono.Cecil.Pdb.dll
new file mode 100755
index 0000000000..8f6df2e85a
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/Mono.Cecil.Pdb.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/Mono.Cecil.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/Mono.Cecil.dll
new file mode 100755
index 0000000000..b7f6fe175f
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/Mono.Cecil.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/Newtonsoft.Json.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/Newtonsoft.Json.dll
new file mode 100755
index 0000000000..e1bb1b6559
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/Newtonsoft.Json.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/NuGet.Common.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/NuGet.Common.dll
new file mode 100755
index 0000000000..91747bafcc
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/NuGet.Common.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/NuGet.Configuration.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/NuGet.Configuration.dll
new file mode 100755
index 0000000000..6973069600
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/NuGet.Configuration.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/NuGet.DependencyResolver.Core.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/NuGet.DependencyResolver.Core.dll
new file mode 100755
index 0000000000..caa787f65c
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/NuGet.DependencyResolver.Core.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/NuGet.Frameworks.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/NuGet.Frameworks.dll
new file mode 100755
index 0000000000..bca83fe124
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/NuGet.Frameworks.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/NuGet.LibraryModel.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/NuGet.LibraryModel.dll
new file mode 100755
index 0000000000..a4eb59460d
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/NuGet.LibraryModel.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/NuGet.Packaging.Core.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/NuGet.Packaging.Core.dll
new file mode 100755
index 0000000000..326b29bb02
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/NuGet.Packaging.Core.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/NuGet.Packaging.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/NuGet.Packaging.dll
new file mode 100755
index 0000000000..ebb6cdd8c9
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/NuGet.Packaging.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/NuGet.ProjectModel.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/NuGet.ProjectModel.dll
new file mode 100755
index 0000000000..4600ca2ea8
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/NuGet.ProjectModel.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/NuGet.Protocol.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/NuGet.Protocol.dll
new file mode 100755
index 0000000000..ba7102df4e
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/NuGet.Protocol.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/NuGet.Versioning.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/NuGet.Versioning.dll
new file mode 100755
index 0000000000..05c8e8d81d
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/NuGet.Versioning.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.AppContext.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.AppContext.dll
new file mode 100755
index 0000000000..5cb9dfb0c2
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.AppContext.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.Collections.Immutable.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.Collections.Immutable.dll
new file mode 100755
index 0000000000..e9f8f6a45f
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.Collections.Immutable.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.Console.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.Console.dll
new file mode 100755
index 0000000000..f47e609332
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.Console.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.Diagnostics.DiagnosticSource.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.Diagnostics.DiagnosticSource.dll
new file mode 100755
index 0000000000..eafb192b62
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.Diagnostics.DiagnosticSource.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.Globalization.Calendars.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.Globalization.Calendars.dll
new file mode 100755
index 0000000000..137ecf8675
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.Globalization.Calendars.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.IO.Compression.ZipFile.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.IO.Compression.ZipFile.dll
new file mode 100755
index 0000000000..23a12b8dfb
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.IO.Compression.ZipFile.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.IO.Compression.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.IO.Compression.dll
new file mode 100755
index 0000000000..f8468a6524
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.IO.Compression.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.IO.FileSystem.Primitives.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.IO.FileSystem.Primitives.dll
new file mode 100755
index 0000000000..ad9c238cad
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.IO.FileSystem.Primitives.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.IO.FileSystem.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.IO.FileSystem.dll
new file mode 100755
index 0000000000..7c4397746d
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.IO.FileSystem.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.Net.Http.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.Net.Http.dll
new file mode 100755
index 0000000000..900e64e407
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.Net.Http.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.Net.Sockets.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.Net.Sockets.dll
new file mode 100755
index 0000000000..4d01203102
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.Net.Sockets.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.Reflection.Metadata.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.Reflection.Metadata.dll
new file mode 100755
index 0000000000..accf84dd5d
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.Reflection.Metadata.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.Runtime.InteropServices.RuntimeInformation.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.Runtime.InteropServices.RuntimeInformation.dll
new file mode 100755
index 0000000000..360e92aa69
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.Runtime.InteropServices.RuntimeInformation.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.Security.Cryptography.Algorithms.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.Security.Cryptography.Algorithms.dll
new file mode 100755
index 0000000000..fa8ad65196
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.Security.Cryptography.Algorithms.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.Security.Cryptography.Encoding.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.Security.Cryptography.Encoding.dll
new file mode 100755
index 0000000000..de1ec5e594
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.Security.Cryptography.Encoding.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.Security.Cryptography.Primitives.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.Security.Cryptography.Primitives.dll
new file mode 100755
index 0000000000..16b24465b9
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.Security.Cryptography.Primitives.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.Security.Cryptography.X509Certificates.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.Security.Cryptography.X509Certificates.dll
new file mode 100755
index 0000000000..e6af9609b6
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.Security.Cryptography.X509Certificates.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.Threading.Thread.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.Threading.Thread.dll
new file mode 100755
index 0000000000..6c4083137a
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.Threading.Thread.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.Xml.ReaderWriter.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.Xml.ReaderWriter.dll
new file mode 100755
index 0000000000..3d5103bfa8
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/System.Xml.ReaderWriter.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/illink.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/illink.dll
new file mode 100755
index 0000000000..b45d28a927
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/illink.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/runtimes/unix/lib/netstandard1.1/System.Runtime.InteropServices.RuntimeInformation.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/runtimes/unix/lib/netstandard1.1/System.Runtime.InteropServices.RuntimeInformation.dll
new file mode 100755
index 0000000000..8ddc814731
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/runtimes/unix/lib/netstandard1.1/System.Runtime.InteropServices.RuntimeInformation.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/runtimes/unix/lib/netstandard1.3/System.IO.Compression.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/runtimes/unix/lib/netstandard1.3/System.IO.Compression.dll
new file mode 100755
index 0000000000..004f3bc25a
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/runtimes/unix/lib/netstandard1.3/System.IO.Compression.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/runtimes/unix/lib/netstandard1.3/System.Security.Cryptography.Encoding.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/runtimes/unix/lib/netstandard1.3/System.Security.Cryptography.Encoding.dll
new file mode 100755
index 0000000000..a962b903d5
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/runtimes/unix/lib/netstandard1.3/System.Security.Cryptography.Encoding.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/runtimes/win/lib/net45/System.Runtime.InteropServices.RuntimeInformation.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/runtimes/win/lib/net45/System.Runtime.InteropServices.RuntimeInformation.dll
new file mode 100755
index 0000000000..360e92aa69
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/runtimes/win/lib/net45/System.Runtime.InteropServices.RuntimeInformation.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/runtimes/win/lib/net46/System.IO.Compression.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/runtimes/win/lib/net46/System.IO.Compression.dll
new file mode 100755
index 0000000000..f8468a6524
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/runtimes/win/lib/net46/System.IO.Compression.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/runtimes/win/lib/net46/System.Net.Http.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/runtimes/win/lib/net46/System.Net.Http.dll
new file mode 100755
index 0000000000..900e64e407
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/runtimes/win/lib/net46/System.Net.Http.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/runtimes/win/lib/net46/System.Security.Cryptography.Algorithms.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/runtimes/win/lib/net46/System.Security.Cryptography.Algorithms.dll
new file mode 100755
index 0000000000..fa8ad65196
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/runtimes/win/lib/net46/System.Security.Cryptography.Algorithms.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/runtimes/win/lib/net46/System.Security.Cryptography.Encoding.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/runtimes/win/lib/net46/System.Security.Cryptography.Encoding.dll
new file mode 100755
index 0000000000..de1ec5e594
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/runtimes/win/lib/net46/System.Security.Cryptography.Encoding.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/runtimes/win/lib/net46/System.Security.Cryptography.X509Certificates.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/runtimes/win/lib/net46/System.Security.Cryptography.X509Certificates.dll
new file mode 100755
index 0000000000..e6af9609b6
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/net46/runtimes/win/lib/net46/System.Security.Cryptography.X509Certificates.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/ILLink.CustomSteps.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/ILLink.CustomSteps.dll
new file mode 100755
index 0000000000..85f076c299
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/ILLink.CustomSteps.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/ILLink.Tasks.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/ILLink.Tasks.dll
new file mode 100755
index 0000000000..21610a9880
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/ILLink.Tasks.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/Mono.Cecil.Mdb.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/Mono.Cecil.Mdb.dll
new file mode 100755
index 0000000000..bf1a48539a
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/Mono.Cecil.Mdb.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/Mono.Cecil.Pdb.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/Mono.Cecil.Pdb.dll
new file mode 100755
index 0000000000..897ff226a2
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/Mono.Cecil.Pdb.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/Mono.Cecil.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/Mono.Cecil.dll
new file mode 100755
index 0000000000..b61b8af10f
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/Mono.Cecil.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/Newtonsoft.Json.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/Newtonsoft.Json.dll
new file mode 100755
index 0000000000..b34d7f615d
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/Newtonsoft.Json.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/NuGet.Common.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/NuGet.Common.dll
new file mode 100755
index 0000000000..e77365b726
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/NuGet.Common.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/NuGet.Configuration.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/NuGet.Configuration.dll
new file mode 100755
index 0000000000..ffeffa5246
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/NuGet.Configuration.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/NuGet.DependencyResolver.Core.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/NuGet.DependencyResolver.Core.dll
new file mode 100755
index 0000000000..daff2afc3f
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/NuGet.DependencyResolver.Core.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/NuGet.Frameworks.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/NuGet.Frameworks.dll
new file mode 100755
index 0000000000..4b2494f5b8
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/NuGet.Frameworks.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/NuGet.LibraryModel.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/NuGet.LibraryModel.dll
new file mode 100755
index 0000000000..e9b664773c
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/NuGet.LibraryModel.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/NuGet.Packaging.Core.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/NuGet.Packaging.Core.dll
new file mode 100755
index 0000000000..d6421467a4
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/NuGet.Packaging.Core.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/NuGet.Packaging.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/NuGet.Packaging.dll
new file mode 100755
index 0000000000..772377803c
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/NuGet.Packaging.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/NuGet.ProjectModel.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/NuGet.ProjectModel.dll
new file mode 100755
index 0000000000..2ac5fdc917
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/NuGet.ProjectModel.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/NuGet.Protocol.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/NuGet.Protocol.dll
new file mode 100755
index 0000000000..0eed694acb
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/NuGet.Protocol.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/NuGet.Versioning.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/NuGet.Versioning.dll
new file mode 100755
index 0000000000..32a1dbede2
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/NuGet.Versioning.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/illink.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/illink.dll
new file mode 100755
index 0000000000..d548338f63
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/illink.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/runtimes/unix/lib/netstandard1.3/System.Security.Cryptography.ProtectedData.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/runtimes/unix/lib/netstandard1.3/System.Security.Cryptography.ProtectedData.dll
new file mode 100755
index 0000000000..eacab33c46
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/runtimes/unix/lib/netstandard1.3/System.Security.Cryptography.ProtectedData.dll
Binary files differ
diff --git a/.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/runtimes/win/lib/netstandard1.3/System.Security.Cryptography.ProtectedData.dll b/.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/runtimes/win/lib/netstandard1.3/System.Security.Cryptography.ProtectedData.dll
new file mode 100755
index 0000000000..7293fdfdfd
--- /dev/null
+++ b/.packages/illink.tasks/0.1.5-preview-1461378/tools/netcoreapp2.0/runtimes/win/lib/netstandard1.3/System.Security.Cryptography.ProtectedData.dll
Binary files differ