Enable project restore for test projects (dotnet/corefx#38151)
authorViktor Hofer <viktor.hofer@microsoft.com>
Sat, 15 Jun 2019 19:27:13 +0000 (21:27 +0200)
committerGitHub <noreply@github.com>
Sat, 15 Jun 2019 19:27:13 +0000 (21:27 +0200)
* Factor out repo restore into seperate props/targets

* Use configuration system msbuild sdk

* Remove XUnit.Runtime.depproj

* Remove TargetGroup usages in test projects

* Fix ILLink configuration

The ILLink package contains netcoreapp2.0 assets which are compatible
with netstandard2.0. Removing the old TargetFramework to restore
successfully.

* Remove usages from TargetGroup in Directory.Build.props

* Remove dead net4* configurations

* Change tests.builds to tests.proj sdk proj

* Make externals dir proj an sdk project

* Consume Microsoft.DotNet.CoreFxTesting as an msbuild sdk

* Use runtimeconfig.template.json

* Remove SupplementalTestData

* Map shared framework version to product version

* Stop binplacing tests

* Move some tool depprojs to targets during restore

* Remove dead code

* Use PackageReference instead of RefFromRuntime in test

* Disable using an apphost

* Copy compression testdata manually cause unicode bug

* Remove target batching in optimizationData

* Reference packaging tools from CoreFx.Private.TestUtilities

Commit migrated from https://github.com/dotnet/corefx/commit/c4c1985531cc1f25c805bbc4801b85c98e0dfee0

148 files changed:
docs/libraries/building/advanced-inner-loop-testing.md
docs/libraries/coding-guidelines/project-guidelines.md
docs/libraries/debugging/unix-instructions.md
eng/Analyzers.props [new file with mode: 0644]
eng/Packaging.props
eng/configurations/targetgroups.props
eng/depProj.targets
eng/dir.traversal.targets
eng/restore/docs.targets [moved from src/libraries/external/docs/docs.depproj with 67% similarity]
eng/restore/illink.targets [new file with mode: 0644]
eng/restore/optimizationData.targets [new file with mode: 0644]
eng/restore/repoRestore.props [new file with mode: 0644]
eng/restore/repoRestore.targets [new file with mode: 0644]
eng/restore/uap-tools.targets [new file with mode: 0644]
src/libraries/Common/tests/StaticTestGenerator/Program.cs
src/libraries/Common/tests/StaticTestGenerator/README.md
src/libraries/Common/tests/System/Xml/ModuleCore/ModuleCore.csproj
src/libraries/Common/tests/System/Xml/XmlCoreTest/Configurations.props
src/libraries/Common/tests/System/Xml/XmlCoreTest/XmlCoreTest.csproj
src/libraries/CoreFx.Private.TestUtilities/Directory.Build.props
src/libraries/CoreFx.Private.TestUtilities/ref/CoreFx.Private.TestUtilities.csproj
src/libraries/CoreFx.Private.TestUtilities/src/CoreFx.Private.TestUtilities.csproj
src/libraries/Directory.Build.props
src/libraries/Directory.Build.targets
src/libraries/Microsoft.CSharp/tests/Microsoft.CSharp.Tests.csproj
src/libraries/Microsoft.Diagnostics.Tracing.EventSource.Redist/tests/Microsoft.Diagnostics.Tracing.EventSource.Redist.Tests.csproj
src/libraries/Microsoft.XmlSerializer.Generator/tests/Microsoft.XmlSerializer.Generator.Tests.csproj
src/libraries/System.Collections/tests/System.Collections.Tests.csproj
src/libraries/System.ComponentModel.Annotations/tests/System.ComponentModel.Annotations.Tests.csproj
src/libraries/System.ComponentModel.TypeConverter/tests/System.ComponentModel.TypeConverter.Tests.csproj
src/libraries/System.Console/tests/System.Console.Tests.csproj
src/libraries/System.Data.Odbc/tests/System.Data.Odbc.Tests.csproj
src/libraries/System.Data.SqlClient/tests/FunctionalTests/System.Data.SqlClient.Tests.csproj
src/libraries/System.Data.SqlClient/tests/StressTests/System.Data.StressFramework/Configurations.props
src/libraries/System.Data.SqlClient/tests/StressTests/System.Data.StressFramework/System.Data.StressFramework.csproj
src/libraries/System.Data.SqlClient/tests/StressTests/System.Data.StressRunner/Configurations.props
src/libraries/System.Data.SqlClient/tests/StressTests/System.Data.StressRunner/System.Data.StressRunner.csproj
src/libraries/System.Diagnostics.Debug/tests/System.Diagnostics.Debug.Tests.csproj
src/libraries/System.Diagnostics.DiagnosticSource/tests/System.Diagnostics.DiagnosticSource.Tests.csproj
src/libraries/System.Diagnostics.FileVersionInfo/tests/System.Diagnostics.FileVersionInfo.TestAssembly/Configurations.props
src/libraries/System.Diagnostics.FileVersionInfo/tests/System.Diagnostics.FileVersionInfo.TestAssembly/System.Diagnostics.FileVersionInfo.TestAssembly.csproj
src/libraries/System.Diagnostics.FileVersionInfo/tests/System.Diagnostics.FileVersionInfo.Tests/System.Diagnostics.FileVersionInfo.Tests.csproj
src/libraries/System.Diagnostics.Process/tests/System.Diagnostics.Process.Tests.csproj
src/libraries/System.Diagnostics.TraceSource/tests/System.Diagnostics.TraceSource.Tests.csproj
src/libraries/System.Diagnostics.Tracing/tests/System.Diagnostics.Tracing.Tests.csproj
src/libraries/System.Drawing.Common/tests/System.Drawing.Common.Tests.csproj
src/libraries/System.Drawing.Primitives/tests/System.Drawing.Primitives.Tests.csproj
src/libraries/System.Globalization.Calendars/tests/CalendarTestWithConfigSwitch/Properties/runtimeconfig.json [deleted file]
src/libraries/System.Globalization.Calendars/tests/CalendarTestWithConfigSwitch/System.Globalization.CalendarsWithConfigSwitch.Tests.csproj
src/libraries/System.Globalization.Calendars/tests/CalendarTestWithConfigSwitch/runtimeconfig.template.json [new file with mode: 0644]
src/libraries/System.Globalization.Calendars/tests/System.Globalization.Calendars.Tests.csproj
src/libraries/System.Globalization/tests/Invariant/Invariant.Tests.csproj
src/libraries/System.Globalization/tests/Invariant/Properties/runtimeconfig.json [deleted file]
src/libraries/System.Globalization/tests/Invariant/runtimeconfig.template.json [new file with mode: 0644]
src/libraries/System.IO.Compression.Brotli/tests/System.IO.Compression.Brotli.Tests.csproj
src/libraries/System.IO.Compression.ZipFile/tests/System.IO.Compression.ZipFile.Tests.csproj
src/libraries/System.IO.Compression/tests/System.IO.Compression.Tests.csproj
src/libraries/System.IO.FileSystem/tests/System.IO.FileSystem.Tests.csproj
src/libraries/System.IO.IsolatedStorage/tests/System.IO.IsolatedStorage.Tests.csproj
src/libraries/System.IO.Packaging/tests/System.IO.Packaging.Tests.csproj
src/libraries/System.IO.Pipes/tests/System.IO.Pipes.Tests.csproj
src/libraries/System.IO.UnmanagedMemoryStream/tests/System.IO.UnmanagedMemoryStream.Tests.csproj
src/libraries/System.IO/tests/System.IO.Tests.csproj
src/libraries/System.Linq.Expressions/tests/System.Linq.Expressions.Tests.csproj
src/libraries/System.Linq.Queryable/tests/System.Linq.Queryable.Tests.csproj
src/libraries/System.Memory/tests/System.Memory.Tests.csproj
src/libraries/System.Net.Http/tests/FunctionalTests/System.Net.Http.Functional.Tests.csproj
src/libraries/System.Net.Requests/tests/System.Net.Requests.Tests.csproj
src/libraries/System.Net.Security/tests/FunctionalTests/System.Net.Security.Tests.csproj
src/libraries/System.Net.ServicePoint/tests/System.Net.ServicePoint.Tests.csproj
src/libraries/System.Net.WebSockets.Client/tests/System.Net.WebSockets.Client.Tests.csproj
src/libraries/System.Net.WebSockets/tests/System.Net.WebSockets.Tests.csproj
src/libraries/System.ObjectModel/tests/System.ObjectModel.Tests.csproj
src/libraries/System.Private.Xml.Linq/tests/Properties/Configurations.props [moved from src/libraries/external/test-runtime/Configurations.props with 68% similarity]
src/libraries/System.Private.Xml.Linq/tests/Properties/System.Xml.Linq.Properties.Tests.csproj
src/libraries/System.Private.Xml.Linq/tests/Streaming/Configurations.props [moved from src/libraries/external/docs/Configurations.props with 55% similarity]
src/libraries/System.Private.Xml.Linq/tests/Streaming/System.Xml.Linq.Streaming.Tests.csproj
src/libraries/System.Private.Xml.Linq/tests/TreeManipulation/Configurations.props [moved from src/libraries/external/optimizationData/Configurations.props with 55% similarity]
src/libraries/System.Private.Xml.Linq/tests/TreeManipulation/System.Xml.Linq.TreeManipulation.Tests.csproj
src/libraries/System.Private.Xml.Linq/tests/XDocument.Common/Configurations.props
src/libraries/System.Private.Xml.Linq/tests/XDocument.Common/XDocument.Common.csproj
src/libraries/System.Private.Xml.Linq/tests/xNodeReader/Configurations.props [moved from src/libraries/external/ILLink/Configurations.props with 55% similarity]
src/libraries/System.Private.Xml.Linq/tests/xNodeReader/System.Xml.Linq.xNodeReader.Tests.csproj
src/libraries/System.Private.Xml/tests/Writers/XmlWriterApi/System.Xml.RW.XmlWriterApi.Tests.csproj
src/libraries/System.Private.Xml/tests/XmlReader/XmlResolver/System.Xml.RW.XmlSystemPathResolver.Tests.csproj
src/libraries/System.Private.Xml/tests/XmlReaderLib/System.Xml.RW.XmlReaderLib.csproj
src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaSet/System.Xml.XmlSchemaSet.Tests.csproj
src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaValidatorApi/System.Xml.XmlSchema.XmlSchemaValidatorApi.Tests.csproj
src/libraries/System.Private.Xml/tests/Xslt/XslCompiledTransformApi/System.Xml.Xsl.XslCompiledTransformApi.Tests.csproj
src/libraries/System.Private.Xml/tests/Xslt/XslTransformApi/System.Xml.Xsl.XslTransformApi.Tests.csproj
src/libraries/System.Private.Xml/tests/Xslt/XsltCompiler/XsltCompiler.Tests.csproj
src/libraries/System.Reflection.TypeExtensions/tests/System.Reflection.TypeExtensions.Tests.csproj
src/libraries/System.Reflection/tests/TestExe/Configurations.props
src/libraries/System.Reflection/tests/TestExe/System.Reflection.TestExe.csproj
src/libraries/System.Resources.Extensions/tests/System.Resources.Extensions.Tests.csproj
src/libraries/System.Resources.ResourceManager/tests/System.Resources.ResourceManager.Tests.csproj
src/libraries/System.Runtime.Extensions/tests/TestApp/Configurations.props
src/libraries/System.Runtime.Extensions/tests/TestApp/TestApp.csproj
src/libraries/System.Runtime.Extensions/tests/TestAppOutsideOfTPA/Configurations.props
src/libraries/System.Runtime.Extensions/tests/TestAppOutsideOfTPA/TestAppOutsideOfTPA.csproj
src/libraries/System.Runtime.Extensions/tests/VoidMainWithExitCodeApp/Configurations.props
src/libraries/System.Runtime.Extensions/tests/VoidMainWithExitCodeApp/VoidMainWithExitCodeApp.csproj
src/libraries/System.Runtime.InteropServices/tests/System.Runtime.InteropServices.Tests.csproj
src/libraries/System.Runtime.Loader/tests/DefaultContext/System.Runtime.Loader.DefaultContext.Tests.csproj
src/libraries/System.Runtime.Numerics/tests/System.Runtime.Numerics.Tests.csproj
src/libraries/System.Runtime.Serialization.Formatters/tests/System.Runtime.Serialization.Formatters.Tests.csproj
src/libraries/System.Runtime/tests/System.Runtime.Tests.csproj
src/libraries/System.Security.Cryptography.Algorithms/tests/System.Security.Cryptography.Algorithms.Tests.csproj
src/libraries/System.Security.Cryptography.Cng/tests/Configurations.props
src/libraries/System.Security.Cryptography.Cng/tests/System.Security.Cryptography.Cng.Tests.csproj
src/libraries/System.Security.Cryptography.Csp/tests/System.Security.Cryptography.Csp.Tests.csproj
src/libraries/System.Security.Cryptography.Pkcs/tests/System.Security.Cryptography.Pkcs.Tests.csproj
src/libraries/System.Security.Cryptography.Primitives/tests/System.Security.Cryptography.Primitives.Tests.csproj
src/libraries/System.Security.Cryptography.X509Certificates/tests/System.Security.Cryptography.X509Certificates.Tests.csproj
src/libraries/System.Security.Cryptography.Xml/tests/System.Security.Cryptography.Xml.Tests.csproj
src/libraries/System.ServiceModel.Syndication/tests/System.ServiceModel.Syndication.Tests.csproj
src/libraries/System.Text.Encoding/tests/System.Text.Encoding.Tests.csproj
src/libraries/System.Text.Json/tests/System.Text.Json.Tests.csproj
src/libraries/System.Threading.Channels/tests/System.Threading.Channels.Tests.csproj
src/libraries/System.Threading.Tasks/tests/System.Threading.Tasks.Tests.csproj
src/libraries/System.Threading.Thread/tests/DefaultApartmentStateMain/Configurations.props
src/libraries/System.Threading.Thread/tests/DefaultApartmentStateMain/DefaultApartmentStateMain.csproj
src/libraries/System.Threading.Thread/tests/MTAMain/Configurations.props
src/libraries/System.Threading.Thread/tests/MTAMain/MTAMain.csproj
src/libraries/System.Threading.Thread/tests/STAMain/Configurations.props
src/libraries/System.Threading.Thread/tests/STAMain/STAMain.csproj
src/libraries/System.Utf8String.Experimental/tests/System.Utf8String.Experimental.Tests.csproj
src/libraries/System.Windows.Extensions/tests/System.Windows.Extensions.Tests.csproj
src/libraries/build.proj
src/libraries/external/Directory.Build.props
src/libraries/external/Directory.Build.targets
src/libraries/external/ILLink/ILLink.depproj [deleted file]
src/libraries/external/ILLink/illink.runtimeconfig.json [deleted file]
src/libraries/external/binplacePackages/binplacePackages.depproj
src/libraries/external/dir.proj
src/libraries/external/netcoreapp/netcoreapp.depproj
src/libraries/external/netfx/netfx.depproj
src/libraries/external/optimizationData/optimizationData.depproj [deleted file]
src/libraries/external/runtime/runtime.depproj
src/libraries/external/test-runtime/XUnit.Runtime.depproj [deleted file]
src/libraries/external/tools/Configurations.props
src/libraries/external/tools/tools.depproj
src/libraries/post.builds [deleted file]
src/libraries/pretest.builds
src/libraries/shims/ApiCompat.proj
src/libraries/shims/netfxreference.props
src/libraries/tests.builds [deleted file]
src/libraries/tests.proj [new file with mode: 0644]

index fd428d6..53f7959 100644 (file)
@@ -42,7 +42,7 @@ public class Program
 
 3. Copy the just built corefx assemblies into your application directory. When using Visual Studio or the .NET Core SDK Host (`dotnet.exe`) you usually compile against *reference assemblies*. For simplicity we compile against the same assembly set that we use during run time.
 ```
-xcopy ..\corefx\artifacts\bin\testhost\netcoreapp-Windows_NT-Release-x64\shared\Microsoft.NETCore.App\9.9.9 runtime /e /i /y /s
+xcopy ..\corefx\artifacts\bin\testhost\netcoreapp-Windows_NT-Release-x64\shared\Microsoft.NETCore.App\$(ProductVersion) runtime /e /i /y /s
 ```
 
 You don't need all the assemblies that are built by corefx but copying the entire directory makes it easier if you want to reference additional ones. At a minimum, this app will need the following assemblies to run:
index 2ea0b6c..a2ddd04 100644 (file)
@@ -22,7 +22,6 @@ once before you can iterate and work on a given library project.
 - build-test.cmd cannot be ran successfully until build.cmd has been ran at least once for a `BuildConfiguration`.
 - Build src\tests.builds which builds all applicable test projects. For test project information see [tests](#tests).
 - The build pass will happen twice. Once for the specific `$(BuildConfiguration)` and once for netstandard. That way we run both sets of applicable tests against for the given `$(BuildConfiguration)`.
-- TODO: Currently as part of src/post.builds we call CloudBuild.targets which sets up our test runs. This needs to be moved to be part of build-test.cmd now.
 
 ## Behind the scenes with build-packages.cmd/sh
 - build-packages.cmd cannot be run successfully until build.cmd has been ran at least once for a BuildConfiguration.
index 33c8981..35921ed 100644 (file)
@@ -57,7 +57,7 @@ lldb should start debugging successfully at this point. You should see stacktrac
 ##### Example
 
 ```
-lldb-3.9 -O "settings set target.exec-search-paths /home/parallels/Downloads/System.Drawing.Common.Tests/home/helixbot/dotnetbuild/work/2a74cf82-3018-4e08-9e9a-744bb492869e/Payload/shared/Microsoft.NETCore.App/9.9.9/" -o "plugin load /home/parallels/Downloads/System.Drawing.Common.Tests/home/helixbot/dotnetbuild/work/2a74cf82-3018-4e08-9e9a-744bb492869e/Payload/shared/Microsoft.NETCore.App/9.9.9/libsosplugin.so" --core /home/parallels/Downloads/System.Drawing.Common.Tests/home/helixbot/dotnetbuild/work/2a74cf82-3018-4e08-9e9a-744bb492869e/Work/f6414a62-9b41-4144-baed-756321e3e075/Unzip/core /home/parallels/Downloads/System.Drawing.Common.Tests/home/helixbot/dotnetbuild/work/2a74cf82-3018-4e08-9e9a-744bb492869e/Payload/shared/Microsoft.NETCore.App/9.9.9/dotnet
+lldb-3.9 -O "settings set target.exec-search-paths /home/parallels/Downloads/System.Drawing.Common.Tests/home/helixbot/dotnetbuild/work/2a74cf82-3018-4e08-9e9a-744bb492869e/Payload/shared/Microsoft.NETCore.App/$(ProductVersion)/" -o "plugin load /home/parallels/Downloads/System.Drawing.Common.Tests/home/helixbot/dotnetbuild/work/2a74cf82-3018-4e08-9e9a-744bb492869e/Payload/shared/Microsoft.NETCore.App/$(ProductVersion)/libsosplugin.so" --core /home/parallels/Downloads/System.Drawing.Common.Tests/home/helixbot/dotnetbuild/work/2a74cf82-3018-4e08-9e9a-744bb492869e/Work/f6414a62-9b41-4144-baed-756321e3e075/Unzip/core /home/parallels/Downloads/System.Drawing.Common.Tests/home/helixbot/dotnetbuild/work/2a74cf82-3018-4e08-9e9a-744bb492869e/Payload/shared/Microsoft.NETCore.App/$(ProductVersion)/dotnet
 ```
 
 ## Using Visual Studio Code
diff --git a/eng/Analyzers.props b/eng/Analyzers.props
new file mode 100644 (file)
index 0000000..f719f65
--- /dev/null
@@ -0,0 +1,11 @@
+<Project>
+  <ItemGroup>
+    <PackageReference Include="Microsoft.DotNet.CodeAnalysis" Version="$(MicrosoftDotNetCodeAnalysisPackageVersion)" />
+    <PackageReference Include="Desktop.Analyzers" Version="1.1.0" />
+    <PackageReference Include="Microsoft.CodeAnalysis.Common" Version="2.9.0" />
+    <PackageReference Include="Microsoft.CodeAnalysis.FxCopAnalyzers" Version="1.1.0" />
+    <PackageReference Include="System.Runtime.Analyzers" Version="1.1.0" />
+    <PackageReference Include="System.Runtime.InteropServices.Analyzers" Version="1.1.0" />
+    <PackageReference Include="System.Security.Cryptography.Hashing.Algorithms.Analyzers" Version="1.1.0" />
+  </ItemGroup>
+</Project>
\ No newline at end of file
index e0db02c..7e3a26e 100644 (file)
     <PackagePlatform Condition="'$(PackagePlatform)' == 'amd64'">x64</PackagePlatform>
     <NativePackagePath>$(MSBuildThisFileDirectory)src/Native/pkg</NativePackagePath>
 
-    <XmlDocPackage>Microsoft.Private.Intellisense</XmlDocPackage>
-    <XmlDocPackageVersion>3.0.0-preview3-190305-0</XmlDocPackageVersion>
-    <XmlDocFileRoot>$(NuGetPackageRoot)$(XmlDocPackage.ToLowerInvariant())/$(XmlDocPackageVersion)/xmldocs/netcoreapp</XmlDocFileRoot>
-    <XmlDocDir>$(ArtifactsBinDir)docs</XmlDocDir>
-
     <!-- By default the packaging targets will package desktop facades as ref,
          but we don't use this as we now build partial-reference-facades. -->
     <PackageDesktopAsRef>false</PackageDesktopAsRef>
index 1daae19..4f16ce3 100644 (file)
     <TargetGroups Include="package">
       <!-- this targetgroup is not considered compatible with any other targetgroup so it should only
            build when specified directly or BuildAllConfigurations is set to True.  -->
+      <TargetFramework>none</TargetFramework>
     </TargetGroups>
     <TargetGroups Include="mono">
       <TargetFramework>net463</TargetFramework>
index ce8fcd6..f200748 100644 (file)
@@ -66,7 +66,7 @@ See the LICENSE file in the project root for more information.
   <Target Name="RunRestoreDuringBuild"
           DependsOnTargets="Restore"
           BeforeTargets="ResolvePackageAssets"
-          Condition="!('$(VSDesignTimeBuild)'=='true' and '$(VisualStudioVersion)' >= '14.0')" />
+          Condition="'$(VSDesignTimeBuild)' != 'true'" />
 
   <Target Name="CoreCompile">
 
index e5f0f1b..f0e8687 100644 (file)
     <Error Condition="'$(MSBuildLastTaskResult)'=='false'" />
   </Target>
 
-  <Target Name="TestAllProjects" DependsOnTargets="FilterProjects">
-    <PropertyGroup>
-      <TestAllTarget Condition="'$(IntegrationTest)' == 'true'">IntegrationTest</TestAllTarget>
-      <TestAllTarget Condition="'$(PerformanceTest)' == 'true'">PerformanceTest</TestAllTarget>
-      <TestAllTarget Condition="'$(Test)' == 'true'">Test</TestAllTarget>
-    </PropertyGroup>
-
-    <!-- To Serialize we use msbuild's batching functionality '%' to force it to batch all similar projects with the same identity
-         however since the project names are unique it will essentially force each to run in its own batch -->
-
-    <MSBuild Targets="$(TestAllTarget)"
-             Projects="@(Project)"
-             Condition="'$(SerializeProjects)' == 'true' AND '%(Identity)' != ''"
-             Properties="BuildConfiguration=$(BuildConfiguration)"
-             ContinueOnError="ErrorAndContinue" />
-
-    <MSBuild Targets="$(TestAllTarget)"
-             Projects="@(Project)"
-             Condition="'$(SerializeProjects)' != 'true'"
-             Properties="BuildConfiguration=$(BuildConfiguration)"
-             BuildInParallel="true"
-             ContinueOnError="ErrorAndContinue" />
-
-    <!-- Given we ErrorAndContinue we need to propagate the error if the overall task failed -->
-    <Error Condition="'$(MSBuildLastTaskResult)'=='false'" />
-  </Target>
-
   <Target Name="GetFilesToPackage"
           DependsOnTargets="FilterProjects"
           Returns="@(FilesToPackage)">
     <Error Condition="'$(MSBuildLastTaskResult)'=='false'" />
   </Target>
 
-  <Target Name="CleanAllProjects" DependsOnTargets="FilterProjects">
-    <PropertyGroup>
-      <DefaultCleanAllTarget Condition="'$(DefaultCleanAllTarget)'==''">Clean</DefaultCleanAllTarget>
-    </PropertyGroup>
-
-    <!-- To Serialize we use msbuild's batching functionality '%' to force it to batch all similar projects with the same identity
-         however since the project names are unique it will essentially force each to run in its own batch -->
-    <MSBuild Targets="$(DefaultCleanAllTarget)"
-             Projects="@(Project)"
-             Condition="'$(SerializeProjects)'=='true' AND '%(Identity)' != ''"
-             Properties="CleanAllProjects=true"
-             ContinueOnError="ErrorAndContinue" />
-
-    <MSBuild Targets="$(DefaultCleanAllTarget)"
-             Projects="@(Project)"
-             Condition="'$(SerializeProjects)'!='true'"
-             Properties="CleanAllProjects=true"
-             BuildInParallel="true"
-             ContinueOnError="ErrorAndContinue" />
-
-    <!-- Given we ErrorAndContinue we need to propagate the error if the overall task failed -->
-    <Error Condition="'$(MSBuildLastTaskResult)'=='false'" />
-  </Target>
-
   <PropertyGroup>
-    <TraversalBuildDependsOn>
-      BuildAllProjects;
-      $(TraversalBuildDependsOn);
-    </TraversalBuildDependsOn>
-
-    <TraversalCleanDependsOn>
-      CleanAllProjects;
-      $(TraversalCleanDependsOn);
-    </TraversalCleanDependsOn>
+    <TraversalBuildDependsOn>BuildAllProjects;$(TraversalBuildDependsOn);</TraversalBuildDependsOn>
   </PropertyGroup>
 
   <Target Name="Build" DependsOnTargets="$(TraversalBuildDependsOn)" />
similarity index 67%
rename from src/libraries/external/docs/docs.depproj
rename to eng/restore/docs.targets
index ea14300..54e44dc 100644 (file)
@@ -1,25 +1,18 @@
-<Project Sdk="Microsoft.NET.Sdk">
-  <PropertyGroup>
-    <OutputPath>$(XmlDocDir)</OutputPath>
-    <EnableBinPlacing>false</EnableBinPlacing>
-  </PropertyGroup>
+<Project>
 
   <ItemGroup>
-    <PackageReference Include="$(XmlDocPackage)">
-      <Version>$(XmlDocPackageVersion)</Version>
-    </PackageReference>
+    <PackageReference Include="microsoft.private.intellisense" Version="$(MicrosoftPrivateIntellisensePackageVersion)" PrivateAssets="all" IsImplicitlyDefined="true" />
   </ItemGroup>
 
   <!-- the intellisense package doesn't use nuget conventions so we need to select manually -->
-  <Target Name="GetDocFiles" AfterTargets="ResolveReferences">
+  <Target Name="GetDocFiles"
+          AfterTargets="Restore">
+
     <ItemGroup>
-      <DocFile Include="$(XmlDocFileRoot)/**/*.xml"/>
+      <DocFile Include="$(NuGetPackageRoot)microsoft.private.intellisense/$(MicrosoftPrivateIntellisensePackageVersion)/xmldocs/netcoreapp/**/*.xml"/>
       <DocFile>
         <!-- trim off slash since it differs by platform and we need to do a string compare -->
         <LCID>$([System.String]::new('%(RecursiveDir)').TrimEnd('\/'))</LCID>
-        <!-- set metadata expected by depProj -->
-        <NuGetPackageId>$(XmlDocPackage)</NuGetPackageId>
-        <NuGetPackageVersion>$(XmlDocPackageVersion)</NuGetPackageVersion>
       </DocFile>
       <DocFile>
         <!-- map LCID to culture name that VS expects -->
       <DocFile>
         <SubFolder>%(Culture)/</SubFolder>
       </DocFile>
-      <!-- set item expected by depproj -->
-      <NuGetDeploy Include="@(DocFile)" />
     </ItemGroup>
 
     <Error Condition="'%(DocFile.Culture)' == 'unknown'" Text="Unknown language folder '%(LCID)' for doc files '@(DocFile)'" />
+    
+    <Copy SourceFiles="@(DocFile)"
+          DestinationFiles="$(XmlDocDir)\%(SubFolder)%(FileName)%(Extension)"
+          SkipUnchangedFiles="true"
+          UseHardlinksIfPossible="true" />
+
   </Target>
+
 </Project>
\ No newline at end of file
diff --git a/eng/restore/illink.targets b/eng/restore/illink.targets
new file mode 100644 (file)
index 0000000..b79e769
--- /dev/null
@@ -0,0 +1,20 @@
+<Project>
+
+  <ItemGroup>
+    <PackageReference Include="illink.tasks" Version="$(ILLinkTasksPackageVersion)" PrivateAssets="all" IsImplicitlyDefined="true" />
+  </ItemGroup>
+
+  <Target Name="IncludeToolsFiles"
+          AfterTargets="Restore">
+
+    <ItemGroup>
+      <_illinkSrcFiles Include="$(NuGetPackageRoot)illink.tasks\$(ILLinkTasksPackageVersion)\tools\**\*" />
+    </ItemGroup>
+
+    <Copy SourceFiles="@(_illinkSrcFiles)"
+          DestinationFolder="$(ILLinkDir)%(_illinkSrcFiles.RecursiveDir)"
+          SkipUnchangedFiles="true"
+          UseHardlinksIfPossible="true" />
+
+  </Target>
+</Project>
diff --git a/eng/restore/optimizationData.targets b/eng/restore/optimizationData.targets
new file mode 100644 (file)
index 0000000..da5408b
--- /dev/null
@@ -0,0 +1,27 @@
+<Project>
+
+  <ItemGroup>
+    <IBCPackage Include="$(WindowsCoreFxOptimizationDataPackageId)" Version="$(optimizationwindows_ntx64IBCCoreFxPackageVersion)" />
+    <IBCPackage Include="$(LinuxCoreFxOptimizationDataPackageId)" Version="$(optimizationwindows_ntx64IBCCoreFxPackageVersion)" />
+    <PackageReference Include="@(IBCPackage)" PrivateAssets="all" IsImplicitlyDefined="true" />
+  </ItemGroup>
+  
+  <!-- IBC data packages don't follow NuGet conventions.  -->
+  <Target Name="GetIBCData"
+          AfterTargets="Restore">
+    
+    <ItemGroup>
+      <IBCPackage>
+        <PackagePath>$(NuGetPackageRoot)%(IBCPackage.Identity)\%(IBCPackage.Version)</PackagePath>
+      </IBCPackage>
+      <_optimizationDataSourceFile Include="%(IBCPackage.PackagePath)\**\*.dll;%(IBCPackage.PackagePath)\**\*.ibc" Package="%(IBCPackage.Identity)" />
+    </ItemGroup>
+
+    <Copy SourceFiles="@(_optimizationDataSourceFile)"
+          DestinationFiles="@(_optimizationDataSourceFile->'$(IbcOptimizationDataDir)%(Package)\%(RecursiveDir)%(Filename)%(Extension)')"
+          SkipUnchangedFiles="true"
+          UseHardlinksIfPossible="true" />
+
+  </Target>
+
+</Project>
diff --git a/eng/restore/repoRestore.props b/eng/restore/repoRestore.props
new file mode 100644 (file)
index 0000000..c5700dd
--- /dev/null
@@ -0,0 +1,30 @@
+<Project TreatAsLocalProperty="ExcludeRestorePackageImports">
+
+  <PropertyGroup>
+    <!-- Need to set ProjectAssetsFile to something so it doesn't get set to the Tools.proj assets file when we import the generated props -->
+    <ProjectAssetsFile Condition="'$(ProjectAssetsFile)' == ''">unused</ProjectAssetsFile>
+    <!-- Nuget will normally disable all generated imports as part of a restore to avoid 
+         non-determinism where first restore changes a subsequent restore,
+         but we need these since they define properties (like TargetFramework) needed by restore.
+         In this case we guarantee this is ok since these specific props are not restored by this project's restore. -->
+    <_excludeRestorePackageImports>$(ExcludeRestorePackageImports)</_excludeRestorePackageImports>
+    <ExcludeRestorePackageImports>false</ExcludeRestorePackageImports>
+  </PropertyGroup>
+  <Import Project="$(ToolSetCommonDirectory)Tools.proj.nuget.g.props" Condition="Exists('$(ToolSetCommonDirectory)Tools.proj.nuget.g.props')" />
+  <PropertyGroup>
+    <ProjectAssetsFile Condition="'$(ProjectAssetsFile)' == 'unused'" />
+    <ExcludeRestorePackageImports>$(_excludeRestorePackageImports)</ExcludeRestorePackageImports>
+  </PropertyGroup>
+
+  <!-- Enable the repo-restored analyzers -->
+  <PropertyGroup>
+    <EnableAnalyzers Condition="'$(EnableAnalyzers)' == '' and '$(IsSourceProject)' == 'true'">true</EnableAnalyzers>
+  </PropertyGroup>
+  
+  <PropertyGroup>
+    <!-- Disable code paths that require project.assets.json files to be present or to be computed. -->
+    <GenerateDependencyFile>false</GenerateDependencyFile>
+    <ComputeNETCoreBuildOutputFiles>false</ComputeNETCoreBuildOutputFiles>
+    <GenerateRuntimeConfigurationFiles>false</GenerateRuntimeConfigurationFiles>
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/eng/restore/repoRestore.targets b/eng/restore/repoRestore.targets
new file mode 100644 (file)
index 0000000..43ee68c
--- /dev/null
@@ -0,0 +1,23 @@
+<Project InitialTargets="_ClearResolvePackageAssets">
+  <PropertyGroup>
+    <!-- Disable restoring of package references in our projects -->
+    <RestoreProjectStyle Condition="'$(MSBuildProjectExtension)' != '.depproj'">None</RestoreProjectStyle>
+  </PropertyGroup>
+
+  <Import Project="$(RepositoryEngineeringDir)CodeAnalysis.targets" />
+  
+  <Import Project="$(ToolSetCommonDirectory)Tools.proj.nuget.g.targets" Condition="Exists('$(ToolSetCommonDirectory)Tools.proj.nuget.g.targets')" />
+  
+  <!--
+  Hack workaround for not restoring each project. Instead, we turn off all the targets
+  that require a `project.assets.json`, since ours will be empty anyway.
+  -->
+  <Target Name="_ClearResolvePackageAssets"
+          Condition="'$(MSBuildProjectExtension)' != '.depproj'">
+
+    <PropertyGroup>
+      <ResolvePackageDependenciesForBuildDependsOn></ResolvePackageDependenciesForBuildDependsOn>
+    </PropertyGroup>
+
+  </Target>
+</Project>
\ No newline at end of file
diff --git a/eng/restore/uap-tools.targets b/eng/restore/uap-tools.targets
new file mode 100644 (file)
index 0000000..2956bd1
--- /dev/null
@@ -0,0 +1,29 @@
+<Project>
+
+   <!-- Retrieve the UAP Tools to the TestHost folder -->
+  <Target Name="CopyUAPToolsToTestHost"
+          Condition="'$(TargetGroup)' == 'uap' and '$(DotNetBuildFromSource)' != 'true'"
+          AfterTargets="Restore">
+
+    <PropertyGroup>
+      <UAPToolsFolder>$(NuGetPackageRoot)$(MicrosoftDotNetUapTestToolsPackageId)\$(MicrosoftDotNetUapTestToolsPackageVersion)\Tools\$(ArchGroup)</UAPToolsFolder>
+    </PropertyGroup>
+
+    <Error Condition="!Exists('$(UAPToolsFolder)')" Text="UAP Tools package not restored or missing assets." />
+
+    <ItemGroup>
+      <RunnerFolderContents Include="$(UAPToolsFolder)\Runner\**\*" />
+      <LauncherFolderContents Include="$(UAPToolsFolder)\Launcher\**\*" />
+    </ItemGroup>
+
+    <Copy SourceFiles="@(RunnerFolderContents)"
+          DestinationFolder="$(TestHostRootPath)Runner\%(RecursiveDir)"
+          SkipUnchangedFiles="true" />
+
+    <Copy SourceFiles="@(LauncherFolderContents)"
+          DestinationFolder="$(TestHostRootPath)Launcher\%(RecursiveDir)"
+          SkipUnchangedFiles="true" />
+
+  </Target>
+
+</Project>
index 0cfb330..c1d31b1 100644 (file)
@@ -274,7 +274,7 @@ namespace StaticTestGenerator
             // Invalid command line arguments.
             Console.WriteLine("Usage: <output_directory> <helper_assemblies_directory> <test_assembly_path> <xunit_console_options>");
             Console.WriteLine("    Example:");
-            Console.WriteLine(@"   dotnet run d:\tmpoutput d:\repos\corefx\artifacts\bin\testhost\netcoreapp-Windows_NT-Debug-x64\shared\Microsoft.NETCore.App\9.9.9 d:\repos\corefx\artifacts\bin\System.Runtime.Tests\netcoreapp-Windows_NT-Debug\System.Runtime.Tests.dll");
+            Console.WriteLine(@"   dotnet run d:\tmpoutput d:\repos\corefx\artifacts\bin\testhost\netcoreapp-Windows_NT-Debug-x64\shared\Microsoft.NETCore.App\$(ProductVersion) d:\repos\corefx\artifacts\bin\System.Runtime.Tests\netcoreapp-Windows_NT-Debug\System.Runtime.Tests.dll");
             testAssemblyPath = string.Empty;
             runtimeAssembliesPath = string.Empty;
             outputPath = string.Empty;
index af59ef3..eaae275 100644 (file)
@@ -22,12 +22,12 @@ From within the utility directory, run the utility with the arguments:
 
 For example:
 ```
-dotnet run d:\output "d:\repos\corefx\artifacts\bin\testhost\netcoreapp-Windows_NT-Debug-x64\shared\Microsoft.NETCore.App\9.9.9" "d:\repos\corefx\artifacts\bin\System.Runtime.Tests\netcoreapp-Windows_NT-Debug\System.Runtime.Tests.dll"
+dotnet run d:\output "d:\repos\corefx\artifacts\bin\testhost\netcoreapp-Windows_NT-Debug-x64\shared\Microsoft.NETCore.App\3.0.0" "d:\repos\corefx\artifacts\bin\System.Runtime.Tests\netcoreapp-Windows_NT-Debug\System.Runtime.Tests.dll"
 ```
 This will run the tool and result in output written to the console like:
 ```
 3/27/2019 10:55:37 PM | Test assembly path    : d:\repos\corefx\artifacts\bin\System.Runtime.Tests\netcoreapp-Windows_NT-Debug\System.Runtime.Tests.dll
-3/27/2019 10:55:37 PM | Helper assemblies path: d:\repos\corefx\artifacts\bin\testhost\netcoreapp-Windows_NT-Debug-x64\shared\Microsoft.NETCore.App\9.9.9\
+3/27/2019 10:55:37 PM | Helper assemblies path: d:\repos\corefx\artifacts\bin\testhost\netcoreapp-Windows_NT-Debug-x64\shared\Microsoft.NETCore.App\3.0.0\
 3/27/2019 10:55:37 PM | Output path           : d:\output\System.Runtime.Tests\
 3/27/2019 10:55:37 PM | Xunit arguments       : d:\repos\corefx\artifacts\bin\System.Runtime.Tests\netcoreapp-Windows_NT-Debug\System.Runtime.Tests.dll -notrait category=nonnetcoreapptests -notrait category=nonwindowstests -notrait category=IgnoreForCI -notrait category=failing -notrait category=OuterLoop
 3/27/2019 10:55:37 PM |
index cd3e1e9..446d841 100644 (file)
@@ -1,7 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <ProjectGuid>{3CF0CC76-4CE0-460A-BA37-657CFED39AB0}</ProjectGuid>
-    <IncludeTestFrameworkReferences>true</IncludeTestFrameworkReferences>
     <Configurations>netstandard-Debug;netstandard-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
@@ -23,4 +22,8 @@
     <Compile Include="XunitRunner.cs" />
     <Compile Include="XunitTestCase.cs" />
   </ItemGroup>
+  <ItemGroup>
+    <PackageReference Include="xunit.extensibility.execution" Version="$(XUnitPackageVersion)" />
+    <PackageReference Include="xunit.assert" Version="$(XUnitPackageVersion)" />
+  </ItemGroup>
 </Project>
\ No newline at end of file
index 581054d..f97cd5e 100644 (file)
@@ -1,7 +1,8 @@
 <Project DefaultTargets="Build">
   <PropertyGroup>
     <BuildConfigurations>
-      netstandard;
+      netcoreapp;
+      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index f631cc2..74a6bd4 100644 (file)
@@ -4,7 +4,7 @@
     <OutputType>Exe</OutputType>
     <AssemblyName>XmlCoreTest</AssemblyName>
     <RootNamespace>XmlCoreTest.Common</RootNamespace>
-    <Configurations>netstandard-Debug;netstandard-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="AsyncUtil.cs" />
index c5ab443..e9e1de5 100644 (file)
@@ -1,4 +1,7 @@
 <Project>
+  <PropertyGroup>
+    <EnableProjectRestore Condition="'$(MSBuildProjectExtension)' == '.csproj'">true</EnableProjectRestore>
+  </PropertyGroup>
   <Import Project="..\Directory.Build.props" />
   <PropertyGroup>
     <AssemblyVersion>1.0.1.0</AssemblyVersion>
index 338f715..3998c01 100644 (file)
@@ -2,19 +2,20 @@
   <PropertyGroup>
     <ProjectGuid>{E2E59C98-998F-9965-991D-99411166AF6F}</ProjectGuid>
     <ShouldWriteSigningRequired>false</ShouldWriteSigningRequired>
-    <AllowReferenceFromRuntime>true</AllowReferenceFromRuntime>
-    <RuntimeProjectFile>$(RepoRoot)\external\test-runtime\XUnit.Runtime.depproj</RuntimeProjectFile>
     <Configurations>netcoreapp-Debug;netcoreapp-Release;netstandard-Debug;netstandard-Release;uap-Debug;uap-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="CoreFx.Private.TestUtilities.cs" />
-    <ReferenceFromRuntime Include="xunit.core" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'netcoreapp' OR '$(TargetGroup)' == 'uap'">
+  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true' or '$(TargetsUap)' == 'true'">
     <Compile Include="CoreFx.Private.TestUtilities.netcoreapp.cs" />
     <ProjectReference Include="..\..\System.Collections\ref\System.Collections.csproj" />
     <ProjectReference Include="..\..\System.Diagnostics.Process\ref\System.Diagnostics.Process.csproj" />
     <ProjectReference Include="..\..\System.Runtime\ref\System.Runtime.csproj" />
     <ProjectReference Include="..\..\System.Runtime.InteropServices\ref\System.Runtime.InteropServices.csproj" />
   </ItemGroup>
+  <ItemGroup>
+    <PackageReference Include="Microsoft.DotNet.Build.Tasks.Packaging" Version="$(MicrosoftDotNetBuildTasksPackagingPackageVersion)" />
+    <PackageReference Include="xunit.core" Version="$(XUnitPackageVersion)" ExcludeAssets="build" />
+  </ItemGroup>
 </Project>
\ No newline at end of file
index e8ba108..0f831be 100644 (file)
@@ -2,32 +2,25 @@
   <PropertyGroup>
     <AssemblyName>CoreFx.Private.TestUtilities</AssemblyName>
     <ProjectGuid>{EBDB0247-CA43-4226-B7A1-8FEF21061D09}</ProjectGuid>
-    <RuntimeProjectFile>$(RepoRoot)\external\test-runtime\XUnit.Runtime.depproj</RuntimeProjectFile>
     <ClsCompliant>false</ClsCompliant>
     <ShouldWriteSigningRequired>false</ShouldWriteSigningRequired>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <NoWarn>$(NoWarn);CS1573</NoWarn>
     <EnablePInvokeAnalyzer>false</EnablePInvokeAnalyzer>
     <RunMatchingRefApiCompat>false</RunMatchingRefApiCompat>
-    <NoWarn Condition="'$(TargetGroup)' == 'netstandard'">$(NoWarn);CS3021</NoWarn>
-    <GeneratePlatformNotSupportedAssemblyMessage Condition="'$(TargetGroup)' == 'netstandard'">Test Utilities are not supported on this platform</GeneratePlatformNotSupportedAssemblyMessage>
+    <NoWarn Condition="'$(TargetsNetStandard)' == 'true'">$(NoWarn);CS3021</NoWarn>
+    <IncludeDefaultTestReferences>true</IncludeDefaultTestReferences>
+    <GeneratePlatformNotSupportedAssemblyMessage Condition="'$(TargetsNetStandard)' == 'true'">Test Utilities are not supported on this platform</GeneratePlatformNotSupportedAssemblyMessage>
     <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netcoreapp2.0-Unix-Debug;netcoreapp2.0-Unix-Release;netcoreapp2.0-Windows_NT-Debug;netcoreapp2.0-Windows_NT-Release;netfx-Windows_NT-Debug;netfx-Windows_NT-Release;netstandard-Debug;netstandard-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
   </PropertyGroup>
-  <ItemGroup>
-    <Compile Include="System\Buffers\BoundedMemory.cs" />
-    <Compile Include="System\Buffers\BoundedMemory.Creation.cs" />
-    <Compile Include="System\Buffers\BoundedMemory.Unix.cs" Condition="'$(TargetsWindows)' != 'true'" />
-    <Compile Include="System\Buffers\BoundedMemory.Windows.cs" Condition="'$(TargetsWindows)' == 'true'" />
-    <Compile Include="System\Buffers\PoisonPagePlacement.cs" />
-  </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' != 'netstandard'">
+  <ItemGroup Condition="'$(TargetsNetStandard)' != 'true'">
     <Compile Include="System\AdminHelpers.cs" />
     <Compile Include="System\IO\FileCleanupTestBase.cs" />
     <Compile Include="System\Net\PlatformDetection.Networking.cs" />
     <Compile Include="System\PlatformApis.Unix.cs" Condition="'$(TargetsWindows)' != 'true'" />
     <Compile Include="System\TestEnvironment.cs" />
-    <Compile Condition="'$(TargetGroup)' == 'netfx'" Include="System\PlatformDetection.NetFx.cs" />
-    <Compile Condition="'$(TargetGroup)' != 'netfx' AND '$(TargetsWindows)' == 'true'" Include="System\PlatformDetection.NonNetFx.Windows.cs" />
+    <Compile Condition="'$(TargetsNetFx)' == 'true'" Include="System\PlatformDetection.NetFx.cs" />
+    <Compile Condition="'$(TargetsNetFx)' != 'true' AND '$(TargetsWindows)' == 'true'" Include="System\PlatformDetection.NonNetFx.Windows.cs" />
     <Compile Include="System\PlatformDetection.cs" />
     <Compile Include="System\PlatformDetection.Unix.cs" Condition="'$(TargetsWindows)' != 'true'" />
     <Compile Include="System\PlatformDetection.Windows.cs" Condition="'$(TargetsWindows)' == 'true'" />
     <Compile Include="System\AssertExtensions.cs" />
     <Compile Include="System\RetryHelper.cs" />
     <Compile Include="System\TheoryExtensions.cs" />
+    <Compile Include="System\Buffers\BoundedMemory.cs" />
+    <Compile Include="System\Buffers\BoundedMemory.Creation.cs" />
+    <Compile Include="System\Buffers\BoundedMemory.Unix.cs" Condition="'$(TargetsWindows)' != 'true'" />
+    <Compile Include="System\Buffers\BoundedMemory.Windows.cs" Condition="'$(TargetsWindows)' == 'true'" />
+    <Compile Include="System\Buffers\PoisonPagePlacement.cs" />
   </ItemGroup>
   <ItemGroup Condition="'$(TargetsWindows)' == 'true'">
     <Compile Include="$(CommonPath)\CoreLib\Interop\Windows\Kernel32\Interop.GetCurrentProcess_IntPtr.cs">
     <Reference Include="System.Diagnostics.Process" />
     <Reference Include="System.ComponentModel.Primitives" />
     <Reference Include="System.Runtime.InteropServices" />
-    <ReferenceFromRuntime Include="xunit.core" />
-    <ReferenceFromRuntime Include="$(MicrosoftDotNetXUnitExtensionsPackage)" />
-    <ReferenceFromRuntime Include="xunit.assert" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' != 'netfx'">
+  <ItemGroup Condition="'$(TargetsNetFx)' != 'true'">
     <Reference Include="System.Runtime.InteropServices.RuntimeInformation" />
   </ItemGroup>
   <ItemGroup Condition="'$(TargetsWindows)' == 'true'">
     <Reference Include="System.Security.Principal.Windows" />
     <Reference Include="Microsoft.Win32.Primitives" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'uap'">
+  <ItemGroup Condition="'$(TargetsUap)' == 'true'">
     <Reference Include="Windows" />
     <Reference Include="mscorlib" />
     <Reference Include="System.Runtime.WindowsRuntime" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'netfx'">
+  <ItemGroup Condition="'$(TargetsNetFx)' == 'true'">
     <Reference Include="mscorlib" />
     <Reference Include="System" />
     <Reference Include="System.Core" />
   </ItemGroup>
+  <ItemGroup>
+    <PackageReference Include="Microsoft.DotNet.Build.Tasks.Packaging" Version="$(MicrosoftDotNetBuildTasksPackagingPackageVersion)" />
+    <PackageReference Include="Microsoft.DotNet.XUnitExtensions" Version="$(MicrosoftDotNetXUnitExtensionsPackageVersion)" />
+    <PackageReference Include="xunit.core" Version="$(XUnitPackageVersion)" ExcludeAssets="build" />
+    <PackageReference Include="xunit.assert" Version="$(XUnitPackageVersion)" />
+  </ItemGroup>
 </Project>
index 4b144e2..12bf1d2 100644 (file)
@@ -1,16 +1,12 @@
 <Project>
   <Import Project="..\Directory.Build.props" />
+
   <PropertyGroup>
     <EnableDefaultItems>false</EnableDefaultItems>
     <EmbedUntrackedSources>true</EmbedUntrackedSources>
     <DisableImplicitFrameworkDefines>true</DisableImplicitFrameworkDefines>
     <DisableImplicitConfigurationDefines>true</DisableImplicitConfigurationDefines>
 
-    <!-- Disable code paths that require project.assets.json files to be present or to be computed. -->
-    <GenerateDependencyFile>false</GenerateDependencyFile>
-    <ComputeNETCoreBuildOutputFiles>false</ComputeNETCoreBuildOutputFiles>
-    <GenerateRuntimeConfigurationFiles>false</GenerateRuntimeConfigurationFiles>
-
     <CodeAnalysisRuleset>$(MSBuildThisFileDirectory)CodeAnalysis.ruleset</CodeAnalysisRuleset>
   </PropertyGroup>
 
 
   <ItemGroup>
     <!-- Link to the testhost folder to probe additional assemblies. -->
-    <CoverageProbePath Include="shared\Microsoft.NETCore.App\9.9.9" />
+    <CoverageProbePath Include="shared\Microsoft.NETCore.App\$(ProductVersion)" />
   </ItemGroup>
 
+  <ItemDefinitionGroup Condition="'$(IsTestProject)' != 'true'">
+    <!-- Project references for non-test assemblies should never be copied to the output. -->
+    <ProjectReference>
+      <Private>false</Private>
+    </ProjectReference>
+  </ItemDefinitionGroup>
+
   <!--
     The Utf8String package is experimental. We don't want tests to inadvertently take a dependency on this
     feature unless they explicitly opt in to it. (Source projects explicitly reference their dependencies,
     so they can't inadvertently take a dependency on it.)
   -->
-  <ItemGroup Condition="'$(IsTestProject)' == 'true' AND '$(IncludeUtf8StringAsmRef)' != 'true'">
+  <ItemGroup Condition="'$(IsTestProject)' == 'true' and '$(IncludeUtf8StringAsmRef)' != 'true'">
     <DefaultReferenceExclusions Include="System.Utf8String.Experimental" />
   </ItemGroup>
-</Project>
+
+  <PropertyGroup>
+    <CLSCompliant Condition="'$(CLSCompliant)' == '' and '$(IsTestProject)' == 'true'">false</CLSCompliant>
+    <CLSCompliant Condition="'$(CLSCompliant)' == ''">true</CLSCompliant>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <!-- TODO: Replace with P2P -->
+    <None Include="$(RuntimePath)CoreFx.Private.TestUtilities.dll"
+          Condition="'$(IsTestProject)' == 'true' and '$(IsTestSupportProject)' != 'true'"
+          CopyToOutputDirectory="PreserveNewest"
+          Visible="false" />
+  </ItemGroup>
+
+  <Import Condition="'$(EnableProjectRestore)' == 'true' and '$(IsSourceProject)' == 'true' and '$(MSBuildProjectExtension)' != '.ilproj'" Project="$(RepositoryEngineeringDir)Analyzers.props" />
+</Project>
\ No newline at end of file
index 77b9bae..fe727d7 100644 (file)
     Microsoft.WorkflowBuildExtensions.targets target that always runs in VS
     -->
     <GenerateCompiledExpressionsTempFilePathForEditing></GenerateCompiledExpressionsTempFilePathForEditing>
-
-    <!-- Disable restoring of package references in our projects -->
-    <RestoreProjectStyle>None</RestoreProjectStyle>
   </PropertyGroup>
 
-  <!--
-  Hack workaround for not restoring each project. Instead, we turn off all the targets
-  that require a `project.assets.json`, since ours will be empty anyway.
-  -->
-  <Target Name="_ClearResolvePackageAssets"
-          BeforeTargets="AssignProjectConfiguration">
-
-    <PropertyGroup>
-      <ResolvePackageDependenciesForBuildDependsOn></ResolvePackageDependenciesForBuildDependsOn>
-    </PropertyGroup>
-
-  </Target>
-
   <!-- Returns the assembly version of the project for consumption
        by the NuGet package generation -->
   <Target Name="GetAssemblyVersion"
@@ -79,6 +63,6 @@
            Condition="$([System.String]::Copy('%(Dependency.TargetFramework)').StartsWith('net4')) AND 
                       '$(_excludeCompile)' == 'true' AND
                       '%(Dependency.Identity)' != '_._'" />
-  </Target>  
+  </Target>
 
 </Project>
index d5c8a2d..48b12b6 100644 (file)
     <Compile Include="UserDefinedShortCircuitOperators.cs" />
     <Compile Include="VarArgsTests.cs" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'netcoreapp'">
+  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true'">
     <Compile Include="AccessTests.netcoreapp.cs" />
   </ItemGroup>
-  <ItemGroup>
-    <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
-  </ItemGroup>
 </Project>
\ No newline at end of file
index 1234e70..9493b0a 100644 (file)
@@ -1,8 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <ProjectGuid>{0657A043-0AEE-445E-9BE4-0B3A9D80318F}</ProjectGuid>
-    <DefineConstants Condition="'$(TargetGroup)' == 'netcoreapp'">$(DefineConstants);FEATURE_ETLEVENTS</DefineConstants>
-    <DefineConstants Condition="'$(TargetGroup)' == 'netcoreapp'">$(DefineConstants);FEATURE_EVENTCOUNTER_DISPOSE</DefineConstants>
+    <DefineConstants Condition="'$(TargetsNetCoreApp)' == 'true'">$(DefineConstants);FEATURE_ETLEVENTS;FEATURE_EVENTCOUNTER_DISPOSE</DefineConstants>
     <DefineConstants>$(DefineConstants);USE_MDT_EVENTSOURCE</DefineConstants>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <Configurations>netfx-Debug;netfx-Release</Configurations>
@@ -37,4 +36,7 @@
     <Compile Include="$(SDTTestDir)\CustomEventSources\UseAbstractEventSource.cs" />
     <Compile Include="$(SDTTestDir)\CustomEventSources\UseInterfaceEventSource.cs" />
   </ItemGroup>
+  <ItemGroup>
+    <PackageReference Include="Microsoft.Diagnostics.Tracing.TraceEvent" Version="$(TraceEventPackageVersion)" />
+  </ItemGroup>
 </Project>
\ No newline at end of file
index 0ba1169..0224d9f 100644 (file)
@@ -4,21 +4,13 @@
     <DefineConstants>$(DefineConstants);XMLSERIALIZERGENERATORTESTS</DefineConstants>
     <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
     <CoverageSupported>false</CoverageSupported>
+    <SkipTestsOnPlatform Condition="'$(TargetsUap)' == 'true' OR '$(ArchGroup)' == 'arm' OR '$(ArchGroup)' == 'arm64' OR '$(ArchGroup)' == 'armel'">true</SkipTestsOnPlatform>
   </PropertyGroup>
   <PropertyGroup>
-    <SkipTestsOnPlatform Condition="'$(TargetGroup)' == 'uap' OR '$(ArchGroup)' == 'arm' OR '$(ArchGroup)' == 'arm64' OR '$(ArchGroup)' == 'armel'">true</SkipTestsOnPlatform>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(TargetGroup)' == 'netcoreapp'">
-    <!-- We're building netcoreap, run on the test CLI
-         Reuse the same runtimeconfig that the tests use. -->
-    <GeneratorRuntimeConfig>$(TestAssetsDir)netcoreapp.runtimeconfig.json</GeneratorRuntimeConfig>
-    <GeneratorCliPath>$(TestHostRootPath)</GeneratorCliPath>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(TargetGroup)' != 'netcoreapp'">
-    <!-- We're building some non-netcoreapp target, run on the Tools CLI.
-         Reuse the same runtimeconfig used by MSBuild. -->
-    <GeneratorRuntimeConfig>$(MSBuildToolsPath)\msbuild.runtimeconfig.json</GeneratorRuntimeConfig>
-    <GeneratorCliPath>$(DotNetRoot)</GeneratorCliPath>
+    <!-- Reuse the same runtimeconfig used by MSBuild. -->
+    <GeneratorRuntimeConfig>$(MSBuildToolsPath)\MSBuild.runtimeconfig.json</GeneratorRuntimeConfig>
+    <GeneratorCommand Condition="'$(TargetsNetCoreApp)' == 'true'">"$(TestHostRootPath)$([System.IO.Path]::GetFileName('$(DotNetTool)'))" --fx-version $(ProductVersion)</GeneratorCommand>
+    <GeneratorCommand Condition="'$(TargetsNetCoreApp)' != 'true'">"$(DotNetTool)"</GeneratorCommand>
   </PropertyGroup>
   <ItemGroup Condition=" '$(SkipTestsOnPlatform)' != 'true' ">
     <Compile Include=".\SGenTests.cs" />
   </ItemGroup>
   <!-- This target runs before binplacing as it needs to provide a test assembly to binplace, and depends on CopyFilesToOutputDirectory
        so that the Generator app dll and runtimeconfig will be copied to the OutputPath -->
-  <Target Name="GenerateSerializationAssembly" DependsOnTargets="CopyFilesToOutputDirectory" BeforeTargets="GetBinPlaceItems" Condition=" '$(SkipTestsOnPlatform)' != 'true' ">
+  <Target Name="GenerateSerializationAssembly" DependsOnTargets="CopyFilesToOutputDirectory" AfterTargets="PrepareForRun" Condition=" '$(SkipTestsOnPlatform)' != 'true' ">
     <PropertyGroup>
       <SerializerName>$(AssemblyName).XmlSerializers</SerializerName>
     </PropertyGroup>
     <Message Text="Running Serialization Tool" Importance="normal" />
-    <Exec Command="$(GeneratorCliPath)dotnet $(OutputPath)dotnet-Microsoft.XmlSerializer.Generator.dll $(OutputPath)Microsoft.XmlSerializer.Generator.Tests.dll --force --quiet" />
+    <Exec Command="$(GeneratorCommand) $(OutputPath)dotnet-Microsoft.XmlSerializer.Generator.dll $(OutputPath)Microsoft.XmlSerializer.Generator.Tests.dll --force --quiet" />
     <Warning Condition="Exists('$(OutputPath)$(SerializerName).cs') != 'true'" Text="Fail to generate $(OutputPath)$(SerializerName).cs" />
     <Csc Condition="Exists('$(OutputPath)$(SerializerName).cs') == 'true'" OutputAssembly="$(OutputPath)$(SerializerName).dll" References="@(ReferencePath);@(IntermediateAssembly)" EmitDebugInformation="$(DebugSymbols)" DebugType="$(DebugType)" Sources="$(OutputPath)$(SerializerName).cs" TargetType="Library" ToolExe="$(CscToolExe)" ToolPath="$(CscToolPath)" DisabledWarnings="$(NoWarn), 219" UseSharedCompilation="true" />
     <Warning Condition="Exists('$(OutputPath)$(SerializerName).dll') != 'true'" Text="Fail to generate $(OutputPath)$(SerializerName).dll" />
index 56cb9c2..b4f6672 100644 (file)
       <Link>Common\System\Collections\IEnumerable.Generic.Serialization.Tests.cs</Link>
     </Compile>
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)'=='netcoreapp'">
+  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true'">
     <Compile Include="BitArray\BitArray_OperatorsTests.netcoreapp.cs" />
     <Compile Include="Generic\CollectionExtensionsTests.cs" />
     <Compile Include="Generic\Dictionary\Dictionary.Generic.Tests.netcoreapp.cs" />
index 03320a1..f1599eb 100644 (file)
@@ -17,7 +17,7 @@
     <Compile Include="System\ComponentModel\DataAnnotations\DataTypeAttributeTests.cs" />
     <Compile Include="System\ComponentModel\DataAnnotations\DisplayColumnAttributeTests.cs" />
     <Compile Include="System\ComponentModel\DataAnnotations\DisplayFormatAttributeTests.cs" />
-    <Compile Include="System\ComponentModel\DataAnnotations\DisplayFormatAttributeTests.netcoreapp.cs" Condition="'$(TargetGroup)' == 'netcoreapp'" />
+    <Compile Include="System\ComponentModel\DataAnnotations\DisplayFormatAttributeTests.netcoreapp.cs" Condition="'$(TargetsNetCoreApp)' == 'true'" />
     <Compile Include="System\ComponentModel\DataAnnotations\EditableAttributeTests.cs" />
     <Compile Include="System\ComponentModel\DataAnnotations\EmailAddressAttributeTests.cs" />
     <Compile Include="System\ComponentModel\DataAnnotations\EnumDataTypeAttributeTests.cs" />
index 437ddbf..8498898 100644 (file)
     <Compile Include="TypeConverterTestBase.cs" />
     <Compile Include="TypeDescriptionProviderAttributeTests.cs" />
     <Compile Include="TypeDescriptorTests.cs" />
-    <Compile Include="TypeDescriptorTests.netcoreapp.cs" Condition="'$(TargetGroup)' == 'netcoreapp'" />
+    <Compile Include="TypeDescriptorTests.netcoreapp.cs" Condition="'$(TargetsNetCoreApp)' == 'true'" />
     <Compile Include="TypeListConverterTests.cs" />
     <Compile Include="UInt16ConverterTests.cs" />
     <Compile Include="UInt32ConverterTests.cs" />
     <Compile Include="UInt64ConverterTests.cs" />
     <Compile Include="UriTypeConverterTests.cs" />
-    <Compile Include="VersionConverterTests.cs" Condition="'$(TargetGroup)' == 'netcoreapp'" />
+    <Compile Include="VersionConverterTests.cs" Condition="'$(TargetsNetCoreApp)' == 'true'" />
     <Compile Include="Drawing\StringTypeConverterTestBase.cs" />
     <Compile Include="TimerTests.cs" />
     <Compile Include="ContainerTests.cs" />
     <Compile Include="XTypeDescriptionProviderTests.cs" />
   </ItemGroup>
   <ItemGroup>
-    <SupplementalTestData Include="$(NuGetPackageRoot)system.componentmodel.typeconverter.testdata\1.0.1\content\**\*.*">
-      <Link>%(RecursiveDir)%(Filename)%(Extension)</Link>
-    </SupplementalTestData>
+    <PackageReference Include="System.ComponentModel.TypeConverter.TestData" Version="$(SystemComponentModelTypeConverterTestDataPackageVersion)" />
   </ItemGroup>
   <ItemGroup>
     <EmbeddedResource Include="Resources\TestResx.resx">
index 8f0a9e4..5eb2839 100644 (file)
@@ -33,9 +33,9 @@
     <Compile Include="WindowAndCursorProps.cs" />
   </ItemGroup>
   <ItemGroup>
-    <SupplementalTestData Include="$(MSBuildThisFileDirectory)TestData\**\*.*">
-      <Link>%(RecursiveDir)%(Filename)%(Extension)</Link>
-    </SupplementalTestData>
+    <None Include="$(MSBuildThisFileDirectory)TestData\**\*"
+          Link="%(RecursiveDir)%(Filename)%(Extension)"
+          CopyToOutputDirectory="PreserveNewest" />
   </ItemGroup>
   <ItemGroup Condition="'$(TargetsWindows)' == 'true'">
     <Compile Include="ConsoleEncoding.Windows.cs" />
@@ -50,7 +50,4 @@
       <Link>Interop\Unix\System.Native\Interop.Fcntl.cs</Link>
     </Compile>
   </ItemGroup>
-  <ItemGroup>
-    <Folder Include="ncursesFormats\" />
-  </ItemGroup>
 </Project>
\ No newline at end of file
index 327e9cb..b90a8b4 100644 (file)
@@ -20,7 +20,7 @@
     <Compile Include="$(CommonPath)\Interop\Unix\Interop.Libraries.cs">
       <Link>Common\Interop\Unix\Interop.Libraries.cs</Link>
     </Compile>
-    <Compile Include="$(CommonPath)\Interop\Unix\libdl\Interop.dlopen.cs" Condition="'$(TargetGroup)' == 'netcoreapp2.0'">
+    <Compile Include="$(CommonPath)\Interop\Unix\libdl\Interop.dlopen.cs" Condition="'$(TargetFramework)' == 'netcoreapp2.0'">
       <Link>Common\Interop\Unix\libdl\Interop.dlopen.cs</Link>
     </Compile>
   </ItemGroup>
index f69086d..277af4a 100644 (file)
@@ -46,4 +46,7 @@
       <Name>TDS</Name>
     </ProjectReference>
   </ItemGroup>
+  <ItemGroup>
+    <PackageReference Include="runtime.native.System.Data.SqlClient.sni" Version="$(RuntimeWinX64RuntimeNativeSystemDataSqlClientSniPackageVersion)" />
+  </ItemGroup>
 </Project>
\ No newline at end of file
index 24168e5..929ab11 100644 (file)
@@ -1,8 +1,10 @@
 <Project DefaultTargets="Build">
   <PropertyGroup>
     <BuildConfigurations>
-      netstandard-Unix;
-      netstandard-Windows_NT;
+      netcoreapp-Unix;
+      netcoreapp-Windows_NT;
+      uap-Windows_NT;
+      netfx-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index ca39b2e..fb1d695 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <ProjectGuid>{518A4E22-0144-4699-80AE-757B744E8E38}</ProjectGuid>
     <RootNamespace>Stress.Data</RootNamespace>
-    <Configurations>netstandard-Unix-Debug;netstandard-Unix-Release;netstandard-Windows_NT-Debug;netstandard-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release;netfx-Windows_NT-Debug;netfx-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <ProjectReference Include="..\System.Data.StressRunner\System.Data.StressRunner.csproj" />
index 24168e5..929ab11 100644 (file)
@@ -1,8 +1,10 @@
 <Project DefaultTargets="Build">
   <PropertyGroup>
     <BuildConfigurations>
-      netstandard-Unix;
-      netstandard-Windows_NT;
+      netcoreapp-Unix;
+      netcoreapp-Windows_NT;
+      uap-Windows_NT;
+      netfx-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index a4aa433..0b2aa73 100644 (file)
@@ -3,12 +3,8 @@
     <ProjectGuid>{529B187A-DE4F-4F4D-9FBB-D3D416FDB683}</ProjectGuid>
     <RootNamespace>DPStressHarness</RootNamespace>
     <OutputType>Exe</OutputType>
-    <!-- Don't attempt to publish for any runtime.  
-         Though this is an EXE it is built as netstandard and will be 
-         published for a specific framework/runtime by a referencing project. -->
-    <CopyNuGetImplementations>false</CopyNuGetImplementations>
     <NoWarn>3021</NoWarn>
-    <Configurations>netstandard-Unix-Debug;netstandard-Unix-Release;netstandard-Windows_NT-Debug;netstandard-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release;netfx-Windows_NT-Debug;netfx-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <ProjectReference Include="..\IMonitorLoader\IMonitorLoader.csproj" />
index 303ecc4..4db2dc3 100644 (file)
@@ -8,7 +8,7 @@
     <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
     <TestRuntime>true</TestRuntime>
   </PropertyGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'netcoreapp'">
+  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true'">
     <DefaultReferenceExclusions Include="System.Diagnostics.Debug" />
     <DefaultReferenceExclusions Include="System.Runtime.Extensions" />
     <ReferenceFromRuntime Include="System.Private.CoreLib" />
@@ -23,7 +23,7 @@
     <Compile Include="EmptyAttributeTests.cs" />
     <Compile Include="XunitAssemblyAttributes.cs" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'netcoreapp'">
+  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true'">
     <Compile Include="DebuggerTests.cs" />
     <Compile Include="DebugTests.cs" />
     <Compile Include="DebugTestsNoListeners.cs" />
index 37c4222..84f09f8 100644 (file)
@@ -4,14 +4,14 @@
     <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
     <Configurations>netfx-Windows_NT-Debug;netfx-Windows_NT-Release;netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
   </PropertyGroup>
-  <ItemGroup Condition=" '$(TargetGroup)' != 'netfx'">
+  <ItemGroup Condition=" '$(TargetsNetFx)' != 'true'">
     <Compile Include="DiagnosticSourceEventSourceBridgeTests.cs" />
   </ItemGroup>
   <ItemGroup>
     <Compile Include="DiagnosticSourceTests.cs" />
     <Compile Include="ActivityTests.cs" />
   </ItemGroup>
-  <ItemGroup Condition=" '$(TargetGroup)' == 'netfx'">
+  <ItemGroup Condition=" '$(TargetsNetFx)' == 'true'">
     <Compile Include="HttpHandlerDiagnosticListenerTests.cs" />
     <Compile Include="ActivityDateTimeTests.cs" />
     <Compile Include="$(CommonTestPath)\System\Net\Configuration.cs">
index 087c715..2874190 100644 (file)
@@ -2,8 +2,9 @@
   <PropertyGroup>
     <ProjectGuid>{28EB14BE-3BC9-4543-ABA6-A932424DFBD0}</ProjectGuid>
     <OutputType>Exe</OutputType>
+    <TargetExt>.dll</TargetExt>
     <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
-    <Configurations>netstandard-Debug;netstandard-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="Assembly1.cs" />
index 16ed05f..dda8a78 100644 (file)
   <ItemGroup Condition="'$(TargetsUnix)' == 'true'">
     <Compile Include="FileVersionInfoTest.Unix.cs" />
   </ItemGroup>
-  <!-- References used -->
   <ItemGroup>
-    <ProjectReference Include="..\System.Diagnostics.FileVersionInfo.TestAssembly\System.Diagnostics.FileVersionInfo.TestAssembly.csproj">
-      <Project>{28eb14be-3bc9-4543-aba6-a932424dfbd0}</Project>
-      <Name>System.Diagnostics.FileVersionInfo.TestAssembly</Name>
-    </ProjectReference>
-  </ItemGroup>
-  <ItemGroup>
-    <SupplementalTestData Include="$(OutputPath)System.Diagnostics.FileVersionInfo.TestAssembly.dll" DestinationName="System.Diagnostics.FileVersionInfo.TestAssembly.ildll" />
+    <ProjectReference Include="..\System.Diagnostics.FileVersionInfo.TestAssembly\System.Diagnostics.FileVersionInfo.TestAssembly.csproj" />
   </ItemGroup>
+  <Target Name="MangleTestAssemblyExtension" AfterTargets="PrepareForRun">
+    <!-- Copy TestAssembly to file without .dll extension so that ILC preserves it as a data file rather than feeding it to the output executable. -->
+    <Copy SourceFiles="$(OutDir)System.Diagnostics.FileVersionInfo.TestAssembly.dll" DestinationFiles="$(OutDir)System.Diagnostics.FileVersionInfo.TestAssembly.ildll" />
+  </Target>
 </Project>
index 5243b7b..8d864e6 100644 (file)
     <Compile Include="ProcessStartInfoTests.cs" />
     <Compile Include="ProcessStreamReadTests.cs" />
     <Compile Include="ProcessTestBase.cs" />
-    <Compile Condition="'$(TargetGroup)' != 'uap'" Include="ProcessTestBase.NonUap.cs" />
-    <Compile Condition="'$(TargetGroup)' == 'uap'" Include="ProcessTestBase.Uap.cs" />
+    <Compile Condition="'$(TargetsUap)' != 'true'" Include="ProcessTestBase.NonUap.cs" />
+    <Compile Condition="'$(TargetsUap)' == 'true'" Include="ProcessTestBase.Uap.cs" />
     <Compile Include="ProcessTests.cs" />
     <Compile Include="ProcessThreadTests.cs" />
     <Compile Include="ProcessWaitingTests.cs" />
     <Compile Include="RemotelyInvokable.cs" />
     <Compile Include="XunitAssemblyAttributes.cs" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'netcoreapp' or '$(TargetGroup)' == 'uap'">
+  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true' or '$(TargetsUap)' == 'true'">
     <Compile Include="ProcessStartInfoTests.netcoreapp.cs" />
     <Compile Include="ProcessStreamReadTests.netcoreapp.cs" />
     <Compile Include="ProcessTests.netcoreapp.cs" />
index 8199e92..14bdb07 100644 (file)
@@ -25,7 +25,7 @@
     <Compile Include="TraceTestHelper.cs" />
     <Compile Include="CorrelationManagerTests.cs" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'netcoreapp'">
+  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true'">
     <Compile Include="DefaultTraceListenerClassTests.netcoreapp.cs" />
   </ItemGroup>
 </Project>
\ No newline at end of file
index 18e836e..fbfc267 100644 (file)
@@ -6,7 +6,7 @@
     <TestRuntime>true</TestRuntime>
   </PropertyGroup>
   <!--Windows only files -->
-  <ItemGroup Condition="'$(TargetGroup)' == 'netcoreapp' And '$(TargetsWindows)' == 'true'">
+  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true' and '$(TargetsWindows)' == 'true'">
     <Compile Include="BasicEventSourceTest\Harness\EtwListener.cs" />
     <Compile Include="BasicEventSourceTest\TestEventCounter.Etw.cs" />
     <Compile Include="BasicEventSourceTest\TestsWrite.Etw.cs" />
@@ -43,6 +43,6 @@
     <Compile Include="CustomEventSources\UseInterfaceEventSource.cs" />
   </ItemGroup>
   <ItemGroup>
-    <ReferenceFromRuntime Include="Microsoft.Diagnostics.Tracing.TraceEvent" />
+    <PackageReference Include="Microsoft.Diagnostics.Tracing.TraceEvent" Version="$(TraceEventPackageVersion)" />
   </ItemGroup>
 </Project>
\ No newline at end of file
index 0c58d6a..a24e412 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <ProjectGuid>{4B93E684-0630-45F4-8F63-6C7788C9892F}</ProjectGuid>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <TestDataPackageVersion>1.0.9</TestDataPackageVersion>
     <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
     <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release</Configurations>
   </PropertyGroup>
     <Compile Include="Drawing2D\MatrixTests.cs" />
     <Compile Include="Text\InstalledFontCollectionTests.cs" />
     <Compile Include="Text\PrivateFontCollectionTests.cs" />
+    <Compile Include="Printing\MarginsTests.cs" />
+    <Compile Include="Printing\PrinterResolutionTests.cs" />
+    <Compile Include="Printing\PageSettingsTests.cs" />
+    <Compile Include="Printing\PaperSizeTests.cs" />
+    <Compile Include="Printing\PaperSourceTests.cs" />
+    <Compile Include="Printing\PrinterUnitConvertTests.cs" />
     <Compile Include="$(CommonTestPath)\System\Diagnostics\DebuggerAttributes.cs">
       <Link>Common\System\Diagnostics\DebuggerAttributes.cs</Link>
     </Compile>
     </Compile>
   </ItemGroup>
   <ItemGroup>
-    <SupplementalTestData Include="$(NuGetPackageRoot)system.drawing.common.testdata\$(TestDataPackageVersion)\content\**\*.*">
-      <Link>%(RecursiveDir)%(Filename)%(Extension)</Link>
-    </SupplementalTestData>
-    <EmbeddedResource Include="$(NuGetPackageRoot)system.drawing.common.testdata\$(TestDataPackageVersion)\content\bitmaps\48x48_multiple_entries_4bit.ico">
+    <PackageReference Include="System.Drawing.Common.TestData" Version="$(SystemDrawingCommonTestDataPackageVersion)" GeneratePathProperty="true" />    
+    <EmbeddedResource Include="$(PkgSystem_Drawing_Common_TestData)\contentFiles\any\any\bitmaps\48x48_multiple_entries_4bit.ico">
       <LogicalName>System.Drawing.Tests.48x48_multiple_entries_4bit.ico</LogicalName>
     </EmbeddedResource>
-    <EmbeddedResource Include="$(NuGetPackageRoot)system.drawing.common.testdata\$(TestDataPackageVersion)\content\bitmaps\bitmap_173x183_indexed_8bit.bmp">
+    <EmbeddedResource Include="$(PkgSystem_Drawing_Common_TestData)\contentFiles\any\any\bitmaps\bitmap_173x183_indexed_8bit.bmp">
       <LogicalName>System.Drawing.Tests.bitmap_173x183_indexed_8bit.bmp</LogicalName>
     </EmbeddedResource>
-    <EmbeddedResource Include="$(NuGetPackageRoot)system.drawing.common.testdata\$(TestDataPackageVersion)\content\bitmaps\empty.file">
+    <EmbeddedResource Include="$(PkgSystem_Drawing_Common_TestData)\contentFiles\any\any\bitmaps\empty.file">
       <LogicalName>System.Drawing.Tests.empty.file</LogicalName>
     </EmbeddedResource>
-    <EmbeddedResource Include="$(NuGetPackageRoot)system.drawing.common.testdata\$(TestDataPackageVersion)\content\bitmaps\invalid.ico">
+    <EmbeddedResource Include="$(PkgSystem_Drawing_Common_TestData)\contentFiles\any\any\bitmaps\invalid.ico">
       <LogicalName>System.Drawing.Tests.invalid.ico</LogicalName>
     </EmbeddedResource>
-       <EmbeddedResource Include="$(NuGetPackageRoot)system.drawing.common.testdata\$(TestDataPackageVersion)\content\bitmaps\256x256_one_entry_32bit.ico">
+    <EmbeddedResource Include="$(PkgSystem_Drawing_Common_TestData)\contentFiles\any\any\bitmaps\256x256_one_entry_32bit.ico">
       <LogicalName>System.Drawing.Tests.Icon_toolboxBitmapAttributeTest</LogicalName>
     </EmbeddedResource>
-    <Compile Include="Printing\MarginsTests.cs" />
-    <Compile Include="Printing\PrinterResolutionTests.cs" />
-    <Compile Include="Printing\PageSettingsTests.cs" />
-    <Compile Include="Printing\PaperSizeTests.cs" />
-    <Compile Include="Printing\PaperSourceTests.cs" />
-    <Compile Include="Printing\PrinterUnitConvertTests.cs" />
   </ItemGroup>
 </Project>
\ No newline at end of file
index 45a2f22..2e6caa5 100644 (file)
@@ -18,7 +18,7 @@
     <Compile Include="$(CommonTestPath)\System\Runtime\Serialization\DataContractSerializerHelper.cs" />
     <Compile Include="$(CommonTestPath)\System\Runtime\Serialization\Utils.cs" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)'=='netcoreapp'">
+  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true'">
     <Compile Include="SizeFTests.netcoreapp.cs" />
     <Compile Include="ColorTests.netcoreapp.cs" />
     <Compile Include="SizeTests.netcoreapp.cs" />
diff --git a/src/libraries/System.Globalization.Calendars/tests/CalendarTestWithConfigSwitch/Properties/runtimeconfig.json b/src/libraries/System.Globalization.Calendars/tests/CalendarTestWithConfigSwitch/Properties/runtimeconfig.json
deleted file mode 100644 (file)
index edf573f..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-{
-  "runtimeOptions": {
-    "configProperties": {
-      "Switch.System.Globalization.EnforceJapaneseEraYearRanges": true
-    },
-    "framework": {
-      "name": "Microsoft.NETCore.App",
-        "version": "9.9.9"
-    }
-  }
-}
\ No newline at end of file
index b6ba861..7231658 100644 (file)
@@ -3,8 +3,6 @@
     <ProjectGuid>{77BE33BB-790D-4D0C-9336-E073001CBD15}</ProjectGuid>
     <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <TestRuntime>true</TestRuntime>
-    <!-- Overriding the runtime config file to include "Switch.System.Globalization.EnforceJapaneseEraYearRanges": true -->
-    <TestRuntimeConfigPath>$(AppDesignerFolder)/runtimeconfig.json</TestRuntimeConfigPath>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="CalendarTests.cs" />
diff --git a/src/libraries/System.Globalization.Calendars/tests/CalendarTestWithConfigSwitch/runtimeconfig.template.json b/src/libraries/System.Globalization.Calendars/tests/CalendarTestWithConfigSwitch/runtimeconfig.template.json
new file mode 100644 (file)
index 0000000..1cfef3c
--- /dev/null
@@ -0,0 +1,5 @@
+{
+  "configProperties": {
+    "Switch.System.Globalization.EnforceJapaneseEraYearRanges": true
+  }
+}
\ No newline at end of file
index a3c0f66..118c7b7 100644 (file)
     <Compile Include="$(CommonTestPath)\System\RandomDataGenerator.cs" />
     <!-- Helpers -->
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'netcoreapp'">
+  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true'">
     <Compile Include="ISOWeek\ISOWeekTests.netcoreapp.cs" />
   </ItemGroup>
 </Project>
\ No newline at end of file
index bef4380..78b113e 100644 (file)
@@ -3,11 +3,6 @@
     <ProjectGuid>{9A8926D9-1D4C-4069-8965-A626F6CA8C29}</ProjectGuid>
     <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <TestRuntime>true</TestRuntime>
-    <!-- 
-      Overriding the runtime config file to include "System.Globalization.Invariant": true
-      which enables the globalization invariant mode.
-    -->
-    <TestRuntimeConfigPath>$(AppDesignerFolder)/runtimeconfig.json</TestRuntimeConfigPath>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="InvariantMode.cs" />
diff --git a/src/libraries/System.Globalization/tests/Invariant/Properties/runtimeconfig.json b/src/libraries/System.Globalization/tests/Invariant/Properties/runtimeconfig.json
deleted file mode 100644 (file)
index 41d1a2f..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-{
-  "runtimeOptions": {
-    "configProperties": {
-      "System.Globalization.Invariant": true
-    },
-    "framework": {
-      "name": "Microsoft.NETCore.App",
-        "version": "9.9.9"
-         }
-  }
-}
diff --git a/src/libraries/System.Globalization/tests/Invariant/runtimeconfig.template.json b/src/libraries/System.Globalization/tests/Invariant/runtimeconfig.template.json
new file mode 100644 (file)
index 0000000..dd404e1
--- /dev/null
@@ -0,0 +1,5 @@
+{
+  "configProperties": {
+    "System.Globalization.Invariant": true
+  }
+}
\ No newline at end of file
index c740b70..cc54800 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <ProjectGuid>{BC2E1649-291D-412E-9529-EDDA94FA7AD6}</ProjectGuid>
-    <DefineConstants Condition="'$(TargetGroup)' == 'netcoreapp' or '$(TargetGroup)' == 'uap'">$(DefineConstants);STREAM_MEMORY_OVERLOADS_AVAILABLE</DefineConstants>
+    <DefineConstants Condition="'$(TargetsNetCoreApp)' == 'true' or '$(TargetsUap)' == 'true'">$(DefineConstants);STREAM_MEMORY_OVERLOADS_AVAILABLE</DefineConstants>
     <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
       <Link>Common\CoreLib\System\Threading\Tasks\TaskToApm.cs</Link>
     </Compile>
   </ItemGroup>
+  <!--
+    Manually copy the contentFiles over as on macOS 10.12 unicode characters cause items to be flagged with buildaction compile.
+    TODO: Remove when macOS 10.12 support ended.
+  -->
   <ItemGroup>
-    <SupplementalTestData Include="$(NuGetPackageRoot)system.io.compression.testdata\1.0.8\content\**\*.*">
-      <Link>%(RecursiveDir)%(Filename)%(Extension)</Link>
-    </SupplementalTestData>
+    <PackageReference Include="System.IO.Compression.TestData" Version="$(SystemIOCompressionTestDataPackageVersion)" ExcludeAssets="contentFiles" GeneratePathProperty="true" />
+    <None Include="$(PkgSystem_IO_Compression_TestData)\contentFiles\any\any\**\*" CopyToOutputDirectory="PreserveNewest" Visible="false" />
   </ItemGroup>
 </Project>
\ No newline at end of file
index 7615b20..bdf55c3 100644 (file)
       <Link>Common\System\IO\Compression\ZipTestHelper.cs</Link>
     </Compile>
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'netcoreapp' or '$(TargetGroup)' == 'uap'">
+  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true'">
     <Compile Include="ZipFile.Extract.netcoreapp.cs" />
   </ItemGroup>
+  <!--
+    Manually copy the contentFiles over as on macOS 10.12 unicode characters cause items to be flagged with buildaction compile.
+    TODO: Remove when macOS 10.12 support ended.
+  -->
   <ItemGroup>
-    <SupplementalTestData Include="$(NuGetPackageRoot)system.io.compression.testdata\1.0.8\content\**\*.*">
-      <Link>%(RecursiveDir)%(Filename)%(Extension)</Link>
-    </SupplementalTestData>
+    <PackageReference Include="System.IO.Compression.TestData" Version="$(SystemIOCompressionTestDataPackageVersion)" ExcludeAssets="contentFiles" GeneratePathProperty="true" />
+    <None Include="$(PkgSystem_IO_Compression_TestData)\contentFiles\any\any\**\*" CopyToOutputDirectory="PreserveNewest" Visible="false" />
   </ItemGroup>
 </Project>
\ No newline at end of file
index cde91e5..3c0bd87 100644 (file)
       <Link>Common\CoreLib\System\Threading\Tasks\TaskToApm.cs</Link>
     </Compile>
   </ItemGroup>
+  <!--
+    Manually copy the contentFiles over as on macOS 10.12 unicode characters cause items to be flagged with buildaction compile.
+    TODO: Remove when macOS 10.12 support ended.
+  -->
   <ItemGroup>
-    <SupplementalTestData Include="$(NuGetPackageRoot)system.io.compression.testdata\1.0.8\content\**\*.*">
-      <Link>%(RecursiveDir)%(Filename)%(Extension)</Link>
-    </SupplementalTestData>
+    <PackageReference Include="System.IO.Compression.TestData" Version="$(SystemIOCompressionTestDataPackageVersion)" ExcludeAssets="contentFiles" GeneratePathProperty="true" />
+    <None Include="$(PkgSystem_IO_Compression_TestData)\contentFiles\any\any\**\*" CopyToOutputDirectory="PreserveNewest" Visible="false" />
   </ItemGroup>
 </Project>
\ No newline at end of file
index 5339d91..750ea26 100644 (file)
@@ -33,7 +33,7 @@
   <ItemGroup Condition="'$(TargetsWindows)' == 'true'">
     <Compile Include="FileSystemTest.Windows.cs" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'netcoreapp'">
+  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true'">
     <Compile Include="File\AppendAsync.cs" />
        <Compile Include="File\Move.netcoreapp.cs" />
     <Compile Include="File\ReadWriteAllLinesAsync.cs" />
       <Link>Common\System\IO\PathFeatures.cs</Link>
     </Compile>
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'uap'">
+  <ItemGroup Condition="'$(TargetsUap)' == 'true'">
     <Reference Include="mscorlib" />
     <Reference Include="Windows" />
   </ItemGroup>
index 8867df8..70fc60c 100644 (file)
@@ -3,28 +3,28 @@
     <ProjectGuid>{BF4F9507-8FBD-45EA-81C9-3ED89C052C91}</ProjectGuid>
     <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
   </PropertyGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'netcoreapp'">
+  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true'">
     <Compile Include="System\IO\IsolatedStorage\IdentityTests.cs" />
     <Compile Include="System\IO\IsolatedStorage\IsolatedStorageBaseClassTests.cs" />
     <Compile Include="System\IO\IsolatedStorage\IsolatedStorageFileStreamTests.netcoreapp.cs" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' != 'uap'">
+  <ItemGroup Condition="'$(TargetsUap)' != 'true'">
     <Compile Include="..\src\System\IO\IsolatedStorage\Helper.Win32Unix.cs">
       <Link>Internals\Helper.Win32Unix.cs</Link>
     </Compile>
     <Compile Include="System\IO\IsolatedStorage\HelperTests.Win32Unix.cs" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' != 'uap' AND '$(TargetsWindows)' == 'true'">
+  <ItemGroup Condition="'$(TargetsUap)' != 'true' AND '$(TargetsWindows)' == 'true'">
     <Compile Include="..\src\System\IO\IsolatedStorage\Helper.Win32.cs">
       <Link>Internals\Helper.Win32.cs</Link>
     </Compile>
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' != 'uap' AND '$(TargetsUnix)' == 'true'">
+  <ItemGroup Condition="'$(TargetsUap)' != 'true' AND '$(TargetsUnix)' == 'true'">
     <Compile Include="..\src\System\IO\IsolatedStorage\Helper.Unix.cs">
       <Link>Internals\Helper.Unix.cs</Link>
     </Compile>
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'uap'">
+  <ItemGroup Condition="'$(TargetsUap)' == 'true'">
     <Compile Include="..\src\System\IO\IsolatedStorage\Helper.WinRT.cs">
       <Link>Internals\Helper.WinRT.cs</Link>
     </Compile>
@@ -65,7 +65,7 @@
     <Compile Include="System\IO\IsolatedStorage\TestHelper.cs" />
     <Compile Include="System\IO\IsolatedStorage\RemoveTests.cs" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'uap'">
+  <ItemGroup Condition="'$(TargetsUap)' == 'true'">
     <Reference Include="mscorlib" />
     <Reference Include="Windows" />
   </ItemGroup>
index f65cc6a..dfe6d0a 100644 (file)
@@ -7,6 +7,6 @@
     <Compile Include="Tests.cs" />
   </ItemGroup>
   <ItemGroup>
-    <SupplementalTestData Include="$(NuGetPackageRoot)system.io.packaging.testdata\1.0.1\content\**\*.*" />
+    <PackageReference Include="System.IO.Packaging.TestData" Version="$(SystemIOPackagingTestDataPackageVersion)" />
   </ItemGroup>
 </Project>
\ No newline at end of file
index e315b58..0b4c813 100644 (file)
       <Link>Common\Interop\Windows\Interop.MaxLengths.cs</Link>
     </Compile>
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'netcoreapp'">
+  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true'">
     <Compile Include="NamedPipeTests\NamedPipeTest.CurrentUserOnly.netcoreapp.cs" />
     <Compile Include="PipeTest.Read.netcoreapp.cs" />
     <Compile Include="PipeTest.Write.netcoreapp.cs" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'netcoreapp' and '$(TargetsWindows)' == 'true'">
+  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true' and '$(TargetsWindows)' == 'true'">
     <Compile Include="NamedPipeTests\NamedPipeTest.CurrentUserOnly.netcoreapp.Windows.cs" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'netcoreapp' and '$(TargetsUnix)' == 'true'">
+  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true' and '$(TargetsUnix)' == 'true'">
     <Compile Include="NamedPipeTests\NamedPipeTest.CurrentUserOnly.netcoreapp.Unix.cs" />
     <Compile Include="NamedPipeTests\NamedPipeTest.UnixDomainSockets.cs" />
   </ItemGroup>
     <Compile Include="NamedPipeTests\NamedPipeTest.RunAsClient.Windows.cs" />
   </ItemGroup>
   <!-- Windows: Win32 only -->
-  <ItemGroup Condition="'$(TargetsWindows)' == 'true' and '$(TargetGroup)' != 'uap'">
+  <ItemGroup Condition="'$(TargetsWindows)' == 'true' and '$(TargetsUap)' != 'true'">
     <Compile Include="InteropTest.Windows.Win32.cs" />
   </ItemGroup>
   <!-- Windows: UAP - Win32 + WinRT -->
-  <ItemGroup Condition="'$(TargetsWindows)' == 'true' and '$(TargetGroup)' == 'uap'">
+  <ItemGroup Condition="'$(TargetsWindows)' == 'true' and '$(TargetsUap)' == 'true'">
     <Compile Include="InteropTest.Windows.Uap.cs" />
   </ItemGroup>
   <ItemGroup Condition="'$(TargetsUnix)' == 'true'">
index 97292e9..018bea4 100644 (file)
@@ -15,9 +15,9 @@
     <Compile Include="UmaTests.cs" />
     <Compile Include="UmsCtorTests.cs" />
     <Compile Include="HGlobalSafeBuffer.cs" />
-    <Compile Include="UmsDisposeAsync.netcoreapp.cs" Condition="'$(TargetGroup)' == 'netcoreapp'" />
+    <Compile Include="UmsDisposeAsync.netcoreapp.cs" Condition="'$(TargetsNetCoreApp)' == 'true'" />
     <Compile Include="UmsReadWrite.cs" />
-    <Compile Include="UmsReadWrite.netcoreapp.cs" Condition="'$(TargetGroup)' == 'netcoreapp'" />
+    <Compile Include="UmsReadWrite.netcoreapp.cs" Condition="'$(TargetsNetCoreApp)' == 'true'" />
     <Compile Include="UmsSafeBuffer.cs" />
     <Compile Include="UmaCtorTests.cs" />
     <Compile Include="UmsFlush.cs" />
index 0fcb607..c806e97 100644 (file)
@@ -8,7 +8,7 @@
     <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
-    <Compile Include="BinaryReader\BinaryReaderTests.netcoreapp.cs" Condition="'$(TargetGroup)' == 'netcoreapp'" />
+    <Compile Include="BinaryReader\BinaryReaderTests.netcoreapp.cs" Condition="'$(TargetsNetCoreApp)' == 'true'" />
     <Compile Include="IndentedTextWriter.cs" />
     <Compile Include="BinaryReader\BinaryReaderTests.cs" />
     <Compile Include="MemoryStream\MemoryStream.GetBufferTests.cs" />
     <Compile Include="StreamWriter\StreamWriter.cs" />
     <Compile Include="StreamWriter\StreamWriter.StringCtorTests.cs" />
     <Compile Include="Stream\Stream.APMMethodsTests.cs" />
-    <Compile Include="BinaryWriter\BinaryWriter.DisposeAsync.netcoreapp.cs" Condition="'$(TargetGroup)' == 'netcoreapp'" />
+    <Compile Include="BinaryWriter\BinaryWriter.DisposeAsync.netcoreapp.cs" Condition="'$(TargetsNetCoreApp)' == 'true'" />
     <Compile Include="BinaryWriter\BinaryWriter.WriteByteCharTests.cs" />
-    <Compile Include="BinaryWriter\BinaryWriter.WriteByteCharTests.netcoreapp.cs" Condition="'$(TargetGroup)' == 'netcoreapp'" />
+    <Compile Include="BinaryWriter\BinaryWriter.WriteByteCharTests.netcoreapp.cs" Condition="'$(TargetsNetCoreApp)' == 'true'" />
     <Compile Include="BinaryWriter\BinaryWriter.WriteTests.cs" />
     <Compile Include="BinaryWriter\BinaryWriterTests.cs" />
     <Compile Include="BufferedStream\BufferedStream.FlushTests.cs" />
     <Compile Include="BufferedStream\BufferedStream.InvalidParameters.cs" />
     <Compile Include="BufferedStream\BufferedStreamTests.cs" />
-    <Compile Include="BufferedStream\BufferedStreamTests.netcoreapp.cs" Condition="'$(TargetGroup)' == 'netcoreapp'" />
+    <Compile Include="BufferedStream\BufferedStreamTests.netcoreapp.cs" Condition="'$(TargetsNetCoreApp)' == 'true'" />
     <Compile Include="InvalidDataException\InvalidDataExceptionTests.cs" />
     <Compile Include="MemoryStream\MemoryStream.ConstructorTests.cs" />
     <Compile Include="MemoryStream\MemoryStream.TryGetBufferTests.cs" />
     <Compile Include="MemoryStream\MemoryStreamTests.cs" />
-    <Compile Include="MemoryStream\MemoryStreamTests.netcoreapp.cs" Condition="'$(TargetGroup)' == 'netcoreapp'" />
+    <Compile Include="MemoryStream\MemoryStreamTests.netcoreapp.cs" Condition="'$(TargetsNetCoreApp)' == 'true'" />
     <Compile Include="StreamReader\StreamReader.CtorTests.cs" />
     <Compile Include="StreamReader\StreamReaderTests.cs" />
-    <Compile Include="StreamReader\StreamReaderTests.netcoreapp.cs" Condition="'$(TargetGroup)' == 'netcoreapp'" />
+    <Compile Include="StreamReader\StreamReaderTests.netcoreapp.cs" Condition="'$(TargetsNetCoreApp)' == 'true'" />
     <Compile Include="StreamWriter\StreamWriter.BaseStream.cs" />
     <Compile Include="StreamWriter\StreamWriter.CloseTests.cs" />
     <Compile Include="StreamWriter\StreamWriter.CtorTests.cs" />
-    <Compile Include="StreamWriter\StreamWriter.DisposeAsync.netcoreapp.cs" Condition="'$(TargetGroup)' == 'netcoreapp'" />
+    <Compile Include="StreamWriter\StreamWriter.DisposeAsync.netcoreapp.cs" Condition="'$(TargetsNetCoreApp)' == 'true'" />
     <Compile Include="StreamWriter\StreamWriter.FlushTests.cs" />
     <Compile Include="StreamWriter\StreamWriter.WriteTests.cs" />
-    <Compile Include="StreamWriter\StreamWriter.WriteTests.netcoreapp.cs" Condition="'$(TargetGroup)' == 'netcoreapp'" />
-    <Compile Include="Stream\Stream.DisposeAsync.netcoreapp.cs" Condition="'$(TargetGroup)' == 'netcoreapp'" />
-    <Compile Include="Stream\Stream.ReadWriteSpan.netcoreapp.cs" Condition="'$(TargetGroup)' == 'netcoreapp'" />
-    <Compile Include="Stream\Stream.NullTests.netcoreapp.cs" Condition="'$(TargetGroup)' == 'netcoreapp'" />
+    <Compile Include="StreamWriter\StreamWriter.WriteTests.netcoreapp.cs" Condition="'$(TargetsNetCoreApp)' == 'true'" />
+    <Compile Include="Stream\Stream.DisposeAsync.netcoreapp.cs" Condition="'$(TargetsNetCoreApp)' == 'true'" />
+    <Compile Include="Stream\Stream.ReadWriteSpan.netcoreapp.cs" Condition="'$(TargetsNetCoreApp)' == 'true'" />
+    <Compile Include="Stream\Stream.NullTests.netcoreapp.cs" Condition="'$(TargetsNetCoreApp)' == 'true'" />
     <Compile Include="Stream\Stream.NullTests.cs" />
     <Compile Include="Stream\Stream.AsyncTests.cs" />
     <Compile Include="Stream\Stream.CopyToTests.cs" />
-    <Compile Include="Stream\Stream.CopyToTests.netcoreapp.cs" Condition="'$(TargetGroup)' == 'netcoreapp'" />
+    <Compile Include="Stream\Stream.CopyToTests.netcoreapp.cs" Condition="'$(TargetsNetCoreApp)' == 'true'" />
     <Compile Include="Stream\Stream.Methods.cs" />
     <Compile Include="Stream\Stream.TestLeaveOpen.cs" />
     <Compile Include="Stream\Stream.TimeoutTests.cs" />
-    <Compile Include="StringReader\StringReaderTests.netcoreapp.cs" Condition="'$(TargetGroup)' == 'netcoreapp'" />
+    <Compile Include="StringReader\StringReaderTests.netcoreapp.cs" Condition="'$(TargetsNetCoreApp)' == 'true'" />
     <Compile Include="StringReader\StringReader.CtorTests.cs" />
-    <Compile Include="StringWriter\StringWriterTests.netcoreapp.cs" Condition="'$(TargetGroup)' == 'netcoreapp'" />
+    <Compile Include="StringWriter\StringWriterTests.netcoreapp.cs" Condition="'$(TargetsNetCoreApp)' == 'true'" />
     <Compile Include="StringWriter\StringWriterTests.cs" />
-    <Compile Include="$(CommonTestPath)\System\Buffers\NativeMemoryManager.cs" Condition="'$(TargetGroup)' == 'netcoreapp'">
+    <Compile Include="$(CommonTestPath)\System\Buffers\NativeMemoryManager.cs" Condition="'$(TargetsNetCoreApp)' == 'true'">
       <Link>Common\System\Buffers\NativeMemoryManager.cs</Link>
     </Compile>
     <Compile Include="$(CommonTestPath)\System\IO\CallTrackingStream.cs">
@@ -71,9 +71,9 @@
     <Compile Include="TestDataProvider\TestDataProvider.cs" />
     <Compile Include="TextReader\CharArrayTextReader.cs" />
     <Compile Include="TextReader\TextReaderTests.cs" />
-    <Compile Include="TextReader\TextReaderTests.netcoreapp.cs" Condition="'$(TargetGroup)' == 'netcoreapp'" />
+    <Compile Include="TextReader\TextReaderTests.netcoreapp.cs" Condition="'$(TargetsNetCoreApp)' == 'true'" />
     <Compile Include="TextWriter\CharArrayTextWriter.cs" />
     <Compile Include="TextWriter\TextWriterTests.cs" />
-    <Compile Include="TextWriter\TextWriterTests.netcoreapp.cs" Condition="'$(TargetGroup)' == 'netcoreapp'" />
+    <Compile Include="TextWriter\TextWriterTests.netcoreapp.cs" Condition="'$(TargetsNetCoreApp)' == 'true'" />
   </ItemGroup>
 </Project>
\ No newline at end of file
index 1d171e7..3f0cc48 100644 (file)
     <Compile Include="Dynamic\ExpandoObjectProxyTests.cs" />
   </ItemGroup>
   <ItemGroup>
-    <ReferenceFromRuntime Include="xunit.execution.dotnet" />
+    <PackageReference Include="xunit.extensibility.execution" Version="$(XUnitPackageVersion)" />
   </ItemGroup>
 </Project>
\ No newline at end of file
index 0868111..bfa8f0f 100644 (file)
@@ -3,7 +3,7 @@
     <ProjectGuid>{7B88D79B-B799-4116-A7D0-AED572540CD4}</ProjectGuid>
     <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
   </PropertyGroup>
-  <ItemGroup Condition="'$(TargetGroup)'=='netcoreapp'">
+  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true'">
     <Compile Include="AppendPrependTests.cs" />
     <Compile Include="TakeLastTests.cs" />
     <Compile Include="SkipLastTests.cs" />
index e3f1ae7..61974a5 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <ProjectGuid>{15DB0DCC-68B4-4CFB-8BD2-F26BCCAF5A3F}</ProjectGuid>
-    <IncludePartialFacadeTests Condition="'$(TargetGroup)' == 'netcoreapp' OR '$(TargetGroup)' == 'uap'">true</IncludePartialFacadeTests>
+    <IncludePartialFacadeTests>true</IncludePartialFacadeTests>
     <TestRuntime>true</TestRuntime>
     <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
     <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
     <Compile Include="ParsersAndFormatters\TestData.cs" />
     <Compile Include="ParsersAndFormatters\TestUtils.cs" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'netcoreapp'">
+  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true'">
     <Compile Include="Span\Indexer.cs" />
   </ItemGroup>
   <ItemGroup>
index 7ed7af6..71741d7 100644 (file)
     <Compile Include="XUnitAssemblyAttributes.cs" />
   </ItemGroup>
   <ItemGroup>
-    <SupplementalTestData Include="$(NuGetPackageRoot)system.net.testdata\1.0.2\content\**\*.*" DestinationDir="TestData" />
+    <PackageReference Include="System.Net.TestData" Version="$(SystemNetTestDataPackageVersion)" />
   </ItemGroup>
   <ItemGroup Condition="'$(TargetsOSX)'=='true'">
     <TestCommandLines Include="ulimit -Sn 4096" />
index 0556184..642158b 100644 (file)
@@ -44,6 +44,6 @@
     <Compile Include="HttpWebResponseHeaderTest.cs" />
   </ItemGroup>
   <ItemGroup>
-    <SupplementalTestData Include="$(NuGetPackageRoot)system.net.testdata\1.0.2\content\**\*.*" DestinationDir="TestData" />
+    <PackageReference Include="System.Net.TestData" Version="$(SystemNetTestDataPackageVersion)" />
   </ItemGroup>
 </Project>
index 4838473..78b3b08 100644 (file)
     </Compile>
   </ItemGroup>
   <ItemGroup>
-    <SupplementalTestData Include="$(NuGetPackageRoot)system.net.testdata\1.0.2\content\**\*.*" DestinationDir="TestData" />
+    <PackageReference Include="System.Net.TestData" Version="$(SystemNetTestDataPackageVersion)" />
   </ItemGroup>
 </Project>
index 7d072a7..a8d6466 100644 (file)
@@ -7,8 +7,7 @@
   <ItemGroup>
     <Compile Include="ServicePointManagerTest.cs" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)'=='netcoreapp'">
-    <!-- TODO #13070: Add net463 to the condition after the TFM gets updated to the actual .NET Framework 4.6.3.-->
+  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true'">
     <Compile Include="TlsSystemDefault.cs" />
   </ItemGroup>
 </Project>
\ No newline at end of file
index ba5d73d..2926ff5 100644 (file)
@@ -49,7 +49,7 @@
     <Compile Include="AbortTest.cs" />
     <Compile Include="CancelTest.cs" />
     <Compile Include="ClientWebSocketOptionsTests.cs" />
-    <Compile Include="ClientWebSocketOptionsTests.netcoreapp.cs" Condition="'$(TargetGroup)' == 'netcoreapp'" />
+    <Compile Include="ClientWebSocketOptionsTests.netcoreapp.cs" Condition="'$(TargetsNetCoreApp)' == 'true'" />
     <Compile Include="ClientWebSocketTestBase.cs" />
     <Compile Include="ClientWebSocketUnitTest.cs" />
     <Compile Include="CloseTest.cs" />
     <Compile Include="KeepAliveTest.cs" />
     <Compile Include="LoopbackHelper.cs" />
     <Compile Include="ResourceHelper.cs" />
-    <Compile Include="SendReceiveTest.netcoreapp.cs" Condition="'$(TargetGroup)' == 'netcoreapp'" />
+    <Compile Include="SendReceiveTest.netcoreapp.cs" Condition="'$(TargetsNetCoreApp)' == 'true'" />
     <Compile Include="SendReceiveTest.cs" />
     <Compile Include="WebSocketData.cs" />
     <Compile Include="WebSocketHelper.cs" />
   </ItemGroup>
   <ItemGroup>
-    <SupplementalTestData Include="$(NuGetPackageRoot)system.net.testdata\1.0.2\content\**\*.*" DestinationDir="TestData" />
+    <PackageReference Include="System.Net.TestData" Version="$(SystemNetTestDataPackageVersion)" />
   </ItemGroup>
 </Project>
index a1b36fe..5180b41 100644 (file)
@@ -5,7 +5,7 @@
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="WebSocketTests.cs" />
-    <Compile Include="WebSocketTests.netcoreapp.cs" Condition="'$(TargetGroup)'=='netcoreapp'" />
+    <Compile Include="WebSocketTests.netcoreapp.cs" Condition="'$(TargetsNetCoreApp)' == 'true'" />
     <Compile Include="WebSocketExceptionTests.cs" />
     <Compile Include="WebSocketReceiveResultTests.cs" />
     <Compile Include="$(CommonTestPath)\System\Net\WebSockets\WebSocketCreateTest.cs">
index 1bde739..9d168bf 100644 (file)
@@ -43,7 +43,7 @@
       <Link>Common\System\Diagnostics\DebuggerAttributes.cs</Link>
     </Compile>
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)'=='netcoreapp'">
+  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true'">
     <Compile Include="KeyedCollection\TestMethods.netcoreapp.cs" />
     <Compile Include="System\Collections\ObjectModel\KeyedCollectionTests.netcoreapp.cs" />
     <Compile Include="System\Windows\Markup\ValueSerializerAttributeTests.cs" />
@@ -1,10 +1,8 @@
-<Project>
+<Project DefaultTargets="Build">
   <PropertyGroup>
     <BuildConfigurations>
-      uap;
-      netstandard;
-      netfx;
       netcoreapp;
+      uap;
     </BuildConfigurations>
   </PropertyGroup>
-</Project>
+</Project>
\ No newline at end of file
index 7010ac8..131eb31 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <ProjectGuid>{D24E2563-7A46-4368-94D4-B3A39E9EF1B5}</ProjectGuid>
-    <Configurations>Debug;Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="DeepEquals.cs" />
@@ -1,7 +1,8 @@
-<Project>
+<Project DefaultTargets="Build">
   <PropertyGroup>
     <BuildConfigurations>
-      netstandard;
+      netcoreapp;
+      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 5976c7d..5713da7 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <ProjectGuid>{CB11B315-2567-4574-977D-89E3135243C4}</ProjectGuid>
-    <Configurations>Debug;Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="StreamExtensions.cs" />
@@ -1,7 +1,8 @@
-<Project>
+<Project DefaultTargets="Build">
   <PropertyGroup>
     <BuildConfigurations>
-      netstandard;
+      netcoreapp;
+      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 020a286..0b71ee4 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <ProjectGuid>{10EFE488-FAB4-43DA-847D-FF057BFF52AC}</ProjectGuid>
-    <Configurations>Debug;Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="$(CommonTestPath)\System\Collections\DictionaryExtensions.cs">
index 581054d..f97cd5e 100644 (file)
@@ -1,7 +1,8 @@
 <Project DefaultTargets="Build">
   <PropertyGroup>
     <BuildConfigurations>
-      netstandard;
+      netcoreapp;
+      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index ead0ff2..e3fd256 100644 (file)
@@ -3,7 +3,7 @@
     <ProjectGuid>{52666206-B6C9-49FA-A1D7-D0A0C68807B0}</ProjectGuid>
     <AssemblyName>XDocument.Common</AssemblyName>
     <RootNamespace>CoreXml.Test.XLinq</RootNamespace>
-    <Configurations>netstandard-Debug;netstandard-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="BridgeHelpers.cs" />
@@ -1,7 +1,8 @@
-<Project>
+<Project DefaultTargets="Build">
   <PropertyGroup>
     <BuildConfigurations>
-      netstandard;
+      netcoreapp;
+      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 20bf529..4035e2c 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <ProjectGuid>{6E1C5358-7F04-4791-8B5F-6A5A4E42ABF1}</ProjectGuid>
-    <Configurations>Debug;Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="ClassStamp.cs" />
index a8b186e..c213793 100644 (file)
@@ -4,9 +4,6 @@
     <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
-    <ReferenceFromRuntime Include="xunit.execution.dotnet" />
-  </ItemGroup>
-  <ItemGroup>
     <Compile Include="EndOfLineHandlingTests.cs" />
     <Compile Include="ErrorCondition.cs" />
     <Compile Include="NamespaceHandlingTests.cs" />
@@ -46,4 +43,7 @@
     <ProjectReference Include="$(CommonTestPath)\System\Xml\ModuleCore\ModuleCore.csproj" />
     <ProjectReference Include="$(CommonTestPath)\System\Xml\XmlCoreTest\XmlCoreTest.csproj" />
   </ItemGroup>
+  <ItemGroup>
+    <PackageReference Include="xunit.extensibility.execution" Version="$(XUnitPackageVersion)" />
+  </ItemGroup>
 </Project>
\ No newline at end of file
index c3be4f2..625998e 100644 (file)
@@ -5,9 +5,11 @@
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="XmlSystemPathResolverTests.cs" />
-    <SupplementalTestData Include="..\TestFiles\**\*.*">
-      <Link>TestFiles\%(RecursiveDir)%(Filename)%(Extension)</Link>
-      <DestinationDir>TestFiles\%(RecursiveDir)</DestinationDir>
-    </SupplementalTestData>
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="..\TestFiles\**\*"
+          Link="TestFiles\%(RecursiveDir)%(Filename)%(Extension)"
+          CopyToOutputDirectory="PreserveNewest"
+          Visible="false" />
   </ItemGroup>
 </Project>
\ No newline at end of file
index 7bbd6c0..0d9a62e 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <ProjectGuid>{F05DE950-CA99-42A8-B44D-E7DAA5C3C783}</ProjectGuid>
     <RootNamespace>XmlReaderTest.Common</RootNamespace>
-    <Configurations>netstandard-Debug;netstandard-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="CDataReader.cs" />
index fec1b16..b8b8948 100644 (file)
     <Compile Include="$(CommonTestPath)\System\IO\TempDirectory.cs">
       <Link>Common\System\IO\TempDirectory.cs</Link>
     </Compile>
-    <SupplementalTestData Include="..\TestFiles\**\*.*">
-      <Link>TestFiles\%(RecursiveDir)%(Filename)%(Extension)</Link>
-      <DestinationDir>TestFiles\%(RecursiveDir)</DestinationDir>
-    </SupplementalTestData>
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="..\TestFiles\**\*"
+          Link="TestFiles\%(RecursiveDir)%(Filename)%(Extension)"
+          CopyToOutputDirectory="PreserveNewest"
+          Visible="false" />
   </ItemGroup>
 </Project>
\ No newline at end of file
index b7a52e9..998c0f4 100644 (file)
     <Compile Include="$(CommonTestPath)\System\IO\TempDirectory.cs">
       <Link>Common\System\IO\TempDirectory.cs</Link>
     </Compile>
-    <SupplementalTestData Include="..\TestFiles\**\*.*">
-      <Link>TestFiles\%(RecursiveDir)%(Filename)%(Extension)</Link>
-      <DestinationDir>TestFiles\%(RecursiveDir)</DestinationDir>
-    </SupplementalTestData>
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="..\TestFiles\**\*"
+          Link="TestFiles\%(RecursiveDir)%(Filename)%(Extension)"
+          CopyToOutputDirectory="PreserveNewest"
+          Visible="false" />
   </ItemGroup>
 </Project>
\ No newline at end of file
index b1e1684..0e660e1 100644 (file)
     <Compile Include="XsltSettings.cs" />
     <Compile Include="XunitAssemblyAttribute.cs" />
     <Compile Include="XslCompiledTransform.cs" />
-    <SupplementalTestData Include="..\TestFiles\**\*.*">
-      <Link>TestFiles\%(RecursiveDir)%(Filename)%(Extension)</Link>
-      <DestinationDir>TestFiles\%(RecursiveDir)</DestinationDir>
-    </SupplementalTestData>
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="..\TestFiles\**\*"
+          Link="TestFiles\%(RecursiveDir)%(Filename)%(Extension)"
+          CopyToOutputDirectory="PreserveNewest"
+          Visible="false" />
   </ItemGroup>
   <ItemGroup>
     <ProjectReference Include="$(CommonTestPath)\System\Xml\ModuleCore\ModuleCore.csproj" />
index 79e694c..359d2fa 100644 (file)
     <Compile Include="ThreadFunc.cs" />
     <Compile Include="XSLTransform.cs" />
     <Compile Include="XunitAssemblyAttributes.cs" />
-    <SupplementalTestData Include="..\TestFiles\**\*.*">
-      <Link>TestFiles\%(RecursiveDir)%(Filename)%(Extension)</Link>
-      <DestinationDir>TestFiles\%(RecursiveDir)</DestinationDir>
-    </SupplementalTestData>
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="..\TestFiles\**\*"
+          Link="TestFiles\%(RecursiveDir)%(Filename)%(Extension)"
+          CopyToOutputDirectory="PreserveNewest"
+          Visible="false" />
   </ItemGroup>
   <ItemGroup>
     <ProjectReference Include="$(CommonTestPath)\System\Xml\ModuleCore\ModuleCore.csproj" />
index 2a48d3a..7cc043e 100644 (file)
     <Compile Include="XsltcModule.cs" />
     <Compile Include="XsltCommon.cs" />
     <Compile Include="ApiTests\XsltcApiTest.cs" />
-    <SupplementalTestData Include="..\TestFiles\**\*.*">
-      <Link>TestFiles\%(RecursiveDir)%(Filename)%(Extension)</Link>
-      <DestinationDir>TestFiles\%(RecursiveDir)</DestinationDir>
-    </SupplementalTestData>
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="..\TestFiles\**\*"
+          Link="TestFiles\%(RecursiveDir)%(Filename)%(Extension)"
+          CopyToOutputDirectory="PreserveNewest"
+          Visible="false" />
   </ItemGroup>
   <ItemGroup>
     <ProjectReference Include="$(CommonTestPath)\System\Xml\ModuleCore\ModuleCore.csproj" />
index f465bba..066c8b3 100644 (file)
@@ -4,7 +4,7 @@
     <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release;uap-Debug;uap-Release</Configurations>
     <TestRuntime>true</TestRuntime>
   </PropertyGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'netcoreapp'">
+  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true'">
     <Compile Include="MemberInfoTests.cs" />
     <Compile Include="ModuleTests.cs" />
   </ItemGroup>
index 581054d..f97cd5e 100644 (file)
@@ -1,7 +1,8 @@
 <Project DefaultTargets="Build">
   <PropertyGroup>
     <BuildConfigurations>
-      netstandard;
+      netcoreapp;
+      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index f07b8d0..419b1c1 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <ProjectGuid>{8C19B991-41E9-4B38-9602-E19375397F1D}</ProjectGuid>
     <OutputType>Exe</OutputType>
-    <Configurations>netstandard-Debug;netstandard-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="Program.cs" />
index 9b114ad..c786a96 100644 (file)
       <Link>TypeNameComparer.cs</Link>
     </Compile>
     <Compile Include="TypeNameComparerTests.cs" />
-    <SupplementalTestData Include="$(NuGetPackageRoot)system.drawing.common.testdata\$(TestDataPackageVersion)\content\**\*.*" Link="%(RecursiveDir)%(Filename)%(Extension)" />
     <EmbeddedResource Include="TestData.resources" WithCulture="false" Type="Non-Resx" />
   </ItemGroup>
+  <ItemGroup>
+    <PackageReference Include="System.Drawing.Common.TestData" Version="$(SystemDrawingCommonTestDataPackageVersion)" />    
+  </ItemGroup>
   <!-- use the following target to regenerate the test resources file
        This is done from a test application and checked in so that we don't run
        product code during the build -->
index 3bb3208..9b35eee 100644 (file)
     <Compile Include="MissingSatelliteAssemblyException.cs" />
     <Compile Include="ResourceSetTests.cs" />
     <Compile Include="$(CommonTestPath)\System\Drawing\Helpers.cs">
-        <Link>Common\System\Drawing\Helpers.cs</Link>
+      <Link>Common\System\Drawing\Helpers.cs</Link>
     </Compile>
+  </ItemGroup>
+  <ItemGroup>
     <EmbeddedResource Include="Resources\TestResx.netstandard17.resources">
       <WithCulture>false</WithCulture>
       <Type>Non-Resx</Type>
     <EmbeddedResource Include="Resources\TestResx.es-MX.resx"/>
     <EmbeddedResource Include="Resources\TestResx.fr-FR.resx"/>
     <EmbeddedResource Include="Resources\TestClassWithoutNeutralResources.fr.resx"/>
-    <SupplementalTestData Include="Resources\TestResx.netstandard17.resources" />
-    <SupplementalTestData Include="Resources\bitmap.bmp" />
-    <SupplementalTestData Include="Resources\icon.ico" />
+    <None Include="Resources\TestResx.netstandard17.resources"
+          Link="%(Filename)%(Extension)"
+          CopyToOutputDirectory="PreserveNewest"
+          Visible="false" />
+    <None Include="Resources\bitmap.bmp"
+          Link="%(Filename)%(Extension)"
+          CopyToOutputDirectory="PreserveNewest"
+          Visible="false" />
+    <None Include="Resources\icon.ico"
+          Link="%(Filename)%(Extension)"
+          CopyToOutputDirectory="PreserveNewest"
+          Visible="false" />          
   </ItemGroup>
   <!--
     MSBuild on .NET Core doesn't support non-string resources. See https://github.com/Microsoft/msbuild/issues/2221
index 581054d..f97cd5e 100644 (file)
@@ -1,7 +1,8 @@
 <Project DefaultTargets="Build">
   <PropertyGroup>
     <BuildConfigurations>
-      netstandard;
+      netcoreapp;
+      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 0dd6f88..c0dccf7 100644 (file)
@@ -5,7 +5,7 @@
     <!-- To be consistent between netfx and others we override the SDK behavior which defaults to .dll -->
     <TargetExt>.exe</TargetExt>
     <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
-    <Configurations>netstandard-Debug;netstandard-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="TestApp.cs" />
index 581054d..f97cd5e 100644 (file)
@@ -1,7 +1,8 @@
 <Project DefaultTargets="Build">
   <PropertyGroup>
     <BuildConfigurations>
-      netstandard;
+      netcoreapp;
+      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index a37da6b..a6e6dcb 100644 (file)
@@ -5,7 +5,7 @@
     <!-- To be consistent between netfx and others we override the SDK behavior which defaults to .dll -->
     <TargetExt>.exe</TargetExt>
     <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
-    <Configurations>netstandard-Debug;netstandard-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="Program.cs" />
index 581054d..f97cd5e 100644 (file)
@@ -1,7 +1,8 @@
 <Project DefaultTargets="Build">
   <PropertyGroup>
     <BuildConfigurations>
-      netstandard;
+      netcoreapp;
+      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 94e4e83..37a90c2 100644 (file)
@@ -5,7 +5,7 @@
     <!-- To be consistent between netfx and others we override the SDK behavior which defaults to .dll -->
     <TargetExt>.exe</TargetExt>
     <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
-    <Configurations>netstandard-Debug;netstandard-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="VoidMainWithExitCodeApp.cs" />
index 52c8edd..f2e1c48 100644 (file)
@@ -99,7 +99,7 @@
     <Compile Include="System\Runtime\InteropServices\Marshal\PtrToStringAutoTests.cs" />
     <Compile Include="System\Runtime\InteropServices\Marshal\PtrToStringBSTR.cs" />
     <Compile Include="System\Runtime\InteropServices\Marshal\PtrToStringUniTests.cs" />
-    <Compile Include="System\Runtime\InteropServices\Marshal\PtrToStringUTF8Tests.cs" Condition="'$(TargetGroup)' == 'netcoreapp'" />
+    <Compile Include="System\Runtime\InteropServices\Marshal\PtrToStringUTF8Tests.cs" Condition="'$(TargetsNetCoreApp)' == 'true'" />
     <Compile Include="System\Runtime\InteropServices\Marshal\QueryInterfaceTests.cs" />
     <Compile Include="System\Runtime\InteropServices\Marshal\QueryInterfaceTests.Windows.cs" Condition="'$(TargetsWindows)' == 'true'" />
     <Compile Include="System\Runtime\InteropServices\Marshal\ReAllocHGlobalTests.cs" />
     <Compile Include="System\Runtime\InteropServices\Marshal\StringToCoTaskMemAnsiTests.cs" />
     <Compile Include="System\Runtime\InteropServices\Marshal\StringToCoTaskMemAutoTests.cs" />
     <Compile Include="System\Runtime\InteropServices\Marshal\StringToCoTaskMemUniTests.cs" />
-    <Compile Include="System\Runtime\InteropServices\Marshal\StringToCoTaskMemUTF8Tests.cs" Condition="'$(TargetGroup)' == 'netcoreapp'" />
+    <Compile Include="System\Runtime\InteropServices\Marshal\StringToCoTaskMemUTF8Tests.cs" Condition="'$(TargetsNetCoreApp)' == 'true'" />
     <Compile Include="System\Runtime\InteropServices\Marshal\StringToHGlobalAnsiTests.cs" />
     <Compile Include="System\Runtime\InteropServices\Marshal\StringToHGlobalUniTests.cs" />
     <Compile Include="System\Runtime\InteropServices\Marshal\StringToHGlobalAutoTests.cs" />
     <Compile Include="System\Runtime\InteropServices\Marshal\ThrowExceptionForHRTests.cs" />
     <Compile Include="System\Runtime\InteropServices\Marshal\ZeroFreeCoTaskMemAnsiTests.cs" />
     <Compile Include="System\Runtime\InteropServices\Marshal\ZeroFreeCoTaskMemUnicodeTests.cs" />
-    <Compile Include="System\Runtime\InteropServices\Marshal\ZeroFreeCoTaskMemUTF8Tests.cs" Condition="'$(TargetGroup)' == 'netcoreapp'" />
+    <Compile Include="System\Runtime\InteropServices\Marshal\ZeroFreeCoTaskMemUTF8Tests.cs" Condition="'$(TargetsNetCoreApp)' == 'true'" />
     <Compile Include="System\Runtime\InteropServices\Marshal\ZeroFreeGlobalAllocAnsiTests.cs" />
     <Compile Include="System\Runtime\InteropServices\Marshal\ZeroFreeGlobalAllocUnicodeTests.cs" />
     <Compile Include="System\Runtime\InteropServices\Marshal\Common\CommonTypes.cs" />
     <Compile Include="System\Runtime\InteropServices\Marshal\StringMarshalingTests.cs" />
     <Compile Include="System\Runtime\InteropServices\Marshal\StructureToPtrTests.cs" />
     <Compile Include="System\Runtime\InteropServices\Marshal\UnsafeAddrOfPinnedArrayElementTests.cs" />
-    <Compile Condition="'$(TargetGroup)' != 'uap'" Include="System\Runtime\InteropServices\PrimaryInteropAssemblyAttributeTests.cs" />
+    <Compile Condition="'$(TargetsUap)' != 'true'" Include="System\Runtime\InteropServices\PrimaryInteropAssemblyAttributeTests.cs" />
     <Compile Include="System\Runtime\InteropServices\ProgIdAttributeTests.cs" />
     <Compile Include="System\Runtime\InteropServices\RuntimeEnvironmentTests.cs" />
     <Compile Include="System\Runtime\InteropServices\SafeBufferTests.cs" />
index 6d78547..3c10f8e 100644 (file)
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </ProjectReference>
   </ItemGroup>
-  <Target Name="RenameTestAssembly" AfterTargets="GetBinPlaceItems">
-    <ItemGroup>
-      <BinPlaceItem Remove="$(ArtifactsBinDir)**\System.Runtime.Loader.Noop.Assembly.dll" />
-      <SupplementalTestData Include="$(OutputPath)System.Runtime.Loader.Noop.Assembly_test.dll" />
-    </ItemGroup>
-    <Move SourceFiles="$(OutputPath)System.Runtime.Loader.Noop.Assembly.dll" DestinationFiles="$(OutputPath)System.Runtime.Loader.Noop.Assembly_test.dll" />
+  <Target Name="RenameTestAssembly" AfterTargets="PrepareForRun">
+    <Move SourceFiles="$(OutDir)System.Runtime.Loader.Noop.Assembly.dll" DestinationFiles="$(OutDir)System.Runtime.Loader.Noop.Assembly_test.dll" />
   </Target>
 </Project>
\ No newline at end of file
index bbad239..a20dd77 100644 (file)
@@ -7,7 +7,7 @@
   <ItemGroup>
     <Compile Include="BigInteger\absolutevalue.cs" />
     <Compile Include="BigInteger\BigIntegerToStringTests.cs" />
-    <Compile Include="BigInteger\BigIntegerToStringTests.netcoreapp.cs" Condition="'$(TargetGroup)' == 'netcoreapp'" />
+    <Compile Include="BigInteger\BigIntegerToStringTests.netcoreapp.cs" Condition="'$(TargetsNetCoreApp)' == 'true'" />
     <Compile Include="BigInteger\BigInteger.AddTests.cs" />
     <Compile Include="BigInteger\BigInteger.SubtractTests.cs" />
     <Compile Include="BigInteger\BigIntTools.cs" />
@@ -15,7 +15,7 @@
     <Compile Include="BigInteger\cast_to.cs" />
     <Compile Include="BigInteger\Comparison.cs" />
     <Compile Include="BigInteger\ctor.cs" />
-    <Compile Include="BigInteger\ctor.netcoreapp.cs" Condition="'$(TargetGroup)' == 'netcoreapp'" />
+    <Compile Include="BigInteger\ctor.netcoreapp.cs" Condition="'$(TargetsNetCoreApp)' == 'true'" />
     <Compile Include="BigInteger\divide.cs" />
     <Compile Include="BigInteger\divrem.cs" />
     <Compile Include="BigInteger\Driver.cs" />
     <Compile Include="BigInteger\op_rightshift.cs" />
     <Compile Include="BigInteger\op_xor.cs" />
     <Compile Include="BigInteger\parse.cs" />
-    <Compile Include="BigInteger\parse.netcoreapp.cs" Condition="'$(TargetGroup)' == 'netcoreapp'" />
+    <Compile Include="BigInteger\parse.netcoreapp.cs" Condition="'$(TargetsNetCoreApp)' == 'true'" />
     <Compile Include="BigInteger\pow.cs" />
     <Compile Include="BigInteger\properties.cs" />
     <Compile Include="BigInteger\remainder.cs" />
     <Compile Include="BigInteger\sign.cs" />
     <Compile Include="BigInteger\stackcalculator.cs" />
     <Compile Include="BigInteger\ToByteArray.cs" />
-    <Compile Include="BigInteger\ToByteArray.netcoreapp.cs" Condition="'$(TargetGroup)' == 'netcoreapp'" />
-    <Compile Include="BigInteger\TryWriteBytes.cs" Condition="'$(TargetGroup)' == 'netcoreapp'" />
+    <Compile Include="BigInteger\ToByteArray.netcoreapp.cs" Condition="'$(TargetsNetCoreApp)' == 'true'" />
+    <Compile Include="BigInteger\TryWriteBytes.cs" Condition="'$(TargetsNetCoreApp)' == 'true'" />
     <Compile Include="ComplexTests.cs" />
-    <Compile Include="ComplexTests.netcoreapp.cs" Condition="'$(TargetGroup)' == 'netcoreapp'" />
+    <Compile Include="ComplexTests.netcoreapp.cs" Condition="'$(TargetsNetCoreApp)' == 'true'" />
   </ItemGroup>
 </Project>
\ No newline at end of file
index aa7e04a..7b665f0 100644 (file)
@@ -17,7 +17,7 @@
     <Compile Include="FormatterTests.cs" />
     <Compile Include="PlatformExtensions.cs" />
     <Compile Include="SerializationBinderTests.cs" />
-    <Compile Include="SerializationGuardTests.cs" Condition="'$(TargetGroup)' == 'netcoreapp'" />
+    <Compile Include="SerializationGuardTests.cs" Condition="'$(TargetsNetCoreApp)' == 'true'" />
     <Compile Include="SerializationInfoTests.cs" />
     <Compile Include="SerializationTypes.cs" />
     <Compile Include="SurrogateSelectorTests.cs" />
@@ -33,7 +33,7 @@
       <Link>Common\System\ThreadCultureChange.cs</Link>
     </Compile>
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'netcoreapp'">
+  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true'">
     <Reference Include="System.Text.Json" />
   </ItemGroup>
 </Project>
\ No newline at end of file
index fa81407..fb5d157 100644 (file)
     <Compile Include="$(CommonPath)\..\tests\System\RealParserTestsBase.netcoreapp.cs" Link="System\RealParserTestsBase.netcoreapp.cs" />
     <Compile Include="System\RealParserTests.netcoreapp.cs" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' != 'netcoreapp'">
+  <ItemGroup Condition="'$(TargetsNetCoreApp)' != 'true'">
     <Compile Include="System\StringSplitExtensions.cs" />
   </ItemGroup>
   <ItemGroup>
index e3673f2..cd29d2a 100644 (file)
   <ItemGroup Condition="'$(TargetsWindows)' == 'true'">
     <Compile Include="DefaultECDsaProvider.Windows.cs" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetsWindows)' == 'true' AND '$(TargetGroup)'=='netcoreapp'">
+  <ItemGroup Condition="'$(TargetsWindows)' == 'true' AND '$(TargetsNetCoreApp)' == 'true'">
     <Compile Include="DefaultECDiffieHellmanProvider.Windows.cs" />
   </ItemGroup>
   <ItemGroup Condition="'$(TargetsUnix)' == 'true'">
       <Link>Common\Interop\Unix\Interop.Libraries.cs</Link>
     </Compile>
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetsUnix)' == 'true' AND '$(Targetgroup)'=='netcoreapp'">
+  <ItemGroup Condition="'$(TargetsUnix)' == 'true' AND '$(TargetsNetCoreApp)' == 'true'">
     <Compile Include="DefaultECDiffieHellmanProvider.Unix.cs" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)'=='netcoreapp'">
+  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true'">
     <Compile Include="$(CommonTestPath)\System\Security\Cryptography\AlgorithmImplementations\DSA\DSAKeyFileTests.cs">
       <Link>CommonTest\System\Security\Cryptography\AlgorithmImplementations\DSA\DSAKeyFileTests.cs</Link>
     </Compile>
       <Link>CommonTest\System\Security\Cryptography\AlgorithmImplementations\RSA\SignVerify.netcoreapp.cs</Link>
     </Compile>
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)'=='netcoreapp'">
+  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true'">
     <Compile Include="AesAEADTests.cs" />
     <Compile Include="AesCcmTests.cs" />
     <Compile Include="AesGcmTests.cs" />
index 34adfc1..dd6fb5e 100644 (file)
@@ -2,8 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp-Windows_NT;
-      net462-Windows_NT;
-      net47-Windows_NT;
       netfx-Windows_NT;
       uap-Windows_NT;
     </BuildConfigurations>
index 0aef306..87ffb51 100644 (file)
@@ -92,7 +92,7 @@
       <Link>CommonTest\System\IO\PositionValueStream.cs</Link>
     </Compile>
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)'=='netcoreapp'">
+  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true'">
     <Compile Include="CngPkcs8Tests.cs" />
     <Compile Include="DSACngPkcs8Tests.cs" />
     <Compile Include="DSACngProvider.cs" />
index 3471016..7031529 100644 (file)
@@ -39,7 +39,7 @@
       <Link>CommonTest\System\IO\PositionValueStream.cs</Link>
     </Compile>
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)'=='netcoreapp'">
+  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true'">
     <Compile Include="AesCryptoServiceProviderTests.cs" />
     <Compile Include="DESCryptoServiceProviderProvider.cs" />
     <Compile Include="DESCryptoServiceProviderTests.cs" />
index 720838d..36c6864 100644 (file)
@@ -38,7 +38,7 @@
     <Compile Include="SignedCms\SignedDocuments.cs" />
     <Compile Include="SignedCms\SignerInfoTests.cs" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'netcoreapp'">
+  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true'">
     <Compile Include="AlgorithmIdentifierTest.cs" />
     <Compile Include="EnvelopedCms\DecryptTestsRsaPaddingModeTests.cs" />
     <Compile Include="EnvelopedCms\DecryptTestsUsingExplicitPrivateKey.cs" />
     <Compile Include="Pkcs8PrivateKeyInfoTests.cs" />
     <Compile Include="PrivateKeyHelpers.cs" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)'=='netcoreapp' OR '$(TargetGroup)' == 'netfx'">
+  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true' OR '$(TargetsNetFx)' == 'true'">
     <Compile Include="EnvelopedCms\KeyTransRecipientInfoRsaOaepCertTests.cs" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetsWindows)' == 'true' AND '$(TargetGroup)'=='netcoreapp'">
+  <ItemGroup Condition="'$(TargetsWindows)' == 'true' AND '$(TargetsNetCoreApp)' == 'true'">
     <Compile Include="EnvelopedCms\DecryptTests.KeyPersistence.cs" />
   </ItemGroup>
 </Project>
index 4418d2d..916c7fd 100644 (file)
@@ -20,7 +20,7 @@
     <Compile Include="SymmetricAlgorithm\Minimal.cs" />
     <Compile Include="SymmetricAlgorithm\Trivial.cs" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)'=='netcoreapp'">
+  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true'">
     <Compile Include="CryptoStream.netcoreapp.cs" />
     <Compile Include="FixedTimeEqualsTests.cs" />
     <Compile Include="HashAlgorithmTest.netcoreapp.cs" />
index 3232de0..bdefaf5 100644 (file)
@@ -2,11 +2,11 @@
   <PropertyGroup>
     <ProjectGuid>{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}</ProjectGuid>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <HaveDSA Condition="'$(TargetGroup)'=='netcoreapp' OR '$(TargetGroup)'=='uap' OR '$(TargetGroup)'=='net462'">true</HaveDSA>
-    <HaveCertificateCreation Condition="'$(TargetGroup)'=='netcoreapp' OR '$(TargetGroup)'=='uap' OR '$(TargetGroup)'=='net472'">true</HaveCertificateCreation>
-    <DefineConstants Condition="'$(TargetGroup)'!='netcoreapp' AND '$(TargetGroup)'!='uap' AND '$(TargetGroup)'!='net462'">$(DefineConstants);NO_DSA_AVAILABLE</DefineConstants>
-    <DefineConstants Condition="'$(HaveCertificateCreation)'!='true'">$(DefineConstants);NO_EPHEMERALKEYSET_AVAILABLE</DefineConstants>
-    <DefineConstants Condition="'$(TargetGroup)'=='netcoreapp' OR '$(TargetGroup)'=='uap'">$(DefineConstants);HAVE_THUMBPRINT_OVERLOADS</DefineConstants>
+    <HaveDSA Condition="'$(TargetsNetCoreApp)' == 'true' or '$(TargetsUap)' == 'true'">true</HaveDSA>
+    <HaveCertificateCreation Condition="'$(TargetsNetCoreApp)' == 'true' or '$(TargetsUap)' == 'true'">true</HaveCertificateCreation>
+    <DefineConstants Condition="'$(TargetsNetCoreApp)' != 'true' and '$(TargetsUap)' != 'true'">$(DefineConstants);NO_DSA_AVAILABLE</DefineConstants>
+    <DefineConstants Condition="'$(HaveCertificateCreation)' != 'true'">$(DefineConstants);NO_EPHEMERALKEYSET_AVAILABLE</DefineConstants>
+    <DefineConstants Condition="'$(TargetsNetCoreApp)' == 'true' or '$(TargetsUap)' == 'true'">$(DefineConstants);HAVE_THUMBPRINT_OVERLOADS</DefineConstants>
     <DefineConstants Condition="'$(TargetsUnix)' == 'true'">$(DefineConstants);Unix</DefineConstants>
     <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
     <Configurations>netcoreapp-OSX-Debug;netcoreapp-OSX-Release;netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
     </Compile>
   </ItemGroup>
   <ItemGroup>
-    <SupplementalTestData Include="$(NuGetPackageRoot)system.security.cryptography.x509certificates.testdata\1.0.3\content\**\*.*" DestinationDir="TestData" />
+    <PackageReference Include="System.Security.Cryptography.X509Certificates.TestData" Version="$(SystemSecurityCryptographyX509CertificatesTestDataPackageVersion)" />
   </ItemGroup>
 </Project>
index 1a128f8..037b265 100644 (file)
@@ -54,7 +54,7 @@
     <Compile Include="XmlLicenseEncryptedRef.cs" />
     <Compile Include="XmlLicenseTransformTest.cs" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'netcoreapp'">
+  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true'">
     <Compile Include="KeyInfo_ArbitraryElements.cs" />
     <Compile Include="Reference_ArbitraryElements.cs" />
     <Compile Include="Signature_ArbitraryElements.cs" />
index 30f3e66..71ab2b3 100644 (file)
@@ -39,7 +39,7 @@
     <Compile Include="System\ServiceModel\Syndication\SyndicationVersionsTests.cs" />
     <Compile Include="System\ServiceModel\Syndication\WorkspaceTests.cs" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'netcoreapp'">
+  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true'">
     <Compile Include="$(MsBuildThisFileDirectory)netcoreapp\BasicScenarioTests.netcoreapp.cs" />
     <Compile Include="System\ServiceModel\Syndication\SyndicationFeedTests.netcoreapp.cs" />
     <Compile Include="System\ServiceModel\Syndication\SyndicationTextInputTests.cs" />
index 223a27e..ee9fc10 100644 (file)
@@ -9,14 +9,14 @@
   <ItemGroup>
     <Compile Include="ASCIIEncoding\ASCIIEncodingEncode.cs" />
     <Compile Include="ASCIIEncoding\ASCIIEncodingDecode.cs" />
-    <Compile Include="ASCIIEncoding\ASCIIEncodingEncode.netcoreapp.cs" Condition="'$(TargetGroup)'=='netcoreapp'" />
-    <Compile Include="ASCIIEncoding\ASCIIEncodingDecode.netcoreapp.cs" Condition="'$(TargetGroup)'=='netcoreapp'" />
+    <Compile Include="ASCIIEncoding\ASCIIEncodingEncode.netcoreapp.cs" Condition="'$(TargetsNetCoreApp)' == 'true'" />
+    <Compile Include="ASCIIEncoding\ASCIIEncodingDecode.netcoreapp.cs" Condition="'$(TargetsNetCoreApp)' == 'true'" />
     <Compile Include="ASCIIEncoding\ASCIIEncodingGetDecoder.cs" />
     <Compile Include="ASCIIEncoding\ASCIIEncodingGetEncoder.cs" />
     <Compile Include="ASCIIEncoding\ASCIIEncodingGetMaxByteCount.cs" />
     <Compile Include="ASCIIEncoding\ASCIIEncodingGetMaxCharCount.cs" />
     <Compile Include="ASCIIEncoding\ASCIIEncodingTests.cs" />
-    <Compile Include="Decoder\DecoderSpanTests.netcoreapp.cs" Condition="'$(TargetGroup)'=='netcoreapp'" />
+    <Compile Include="Decoder\DecoderSpanTests.netcoreapp.cs" Condition="'$(TargetsNetCoreApp)' == 'true'" />
     <Compile Include="Decoder\DecoderConvert2.cs" />
     <Compile Include="Decoder\DecoderCtor.cs" />
     <Compile Include="Decoder\DecoderGetCharCount2.cs" />
@@ -27,7 +27,7 @@
     <Compile Include="DecoderFallback\DecoderFallbackTests.cs" />
     <Compile Include="DecoderFallbackException\DecoderFallbackExceptionTests.cs" />
     <Compile Include="EncoderFallbackException\EncoderFallbackExceptionTests.cs" />
-    <Compile Include="Encoder\EncoderSpanTests.netcoreapp.cs" Condition="'$(TargetGroup)'=='netcoreapp'" />
+    <Compile Include="Encoder\EncoderSpanTests.netcoreapp.cs" Condition="'$(TargetsNetCoreApp)' == 'true'" />
     <Compile Include="Encoder\EncoderConvert2.cs" />
     <Compile Include="Encoder\EncoderCtor.cs" />
     <Compile Include="Encoder\EncoderGetByteCount2.cs" />
@@ -40,9 +40,9 @@
     <Compile Include="Fallback\EncoderExceptionFallbackTests.cs" />
     <Compile Include="Fallback\DecoderExceptionFallbackTests.cs" />
     <Compile Include="NegativeEncodingTests.cs" />
-    <Compile Include="NegativeEncodingTests.netcoreapp.cs" Condition="'$(TargetGroup)'=='netcoreapp'" />
+    <Compile Include="NegativeEncodingTests.netcoreapp.cs" Condition="'$(TargetsNetCoreApp)' == 'true'" />
     <Compile Include="EncodingTestHelpers.cs" />
-    <Compile Include="EncodingTestHelpers.netcoreapp.cs" Condition="'$(TargetGroup)'=='netcoreapp'" />
+    <Compile Include="EncodingTestHelpers.netcoreapp.cs" Condition="'$(TargetsNetCoreApp)' == 'true'" />
     <Compile Include="Latin1Encoding\Latin1EncodingEncode.cs" />
     <Compile Include="Latin1Encoding\Latin1EncodingDecode.cs" />
     <Compile Include="Latin1Encoding\Latin1EncodingGetMaxByteCount.cs" />
index a5388f1..c84d8c5 100644 (file)
@@ -84,8 +84,6 @@
     </Compile>
   </ItemGroup>
   <ItemGroup>
-    <ReferenceFromRuntime Include="Newtonsoft.Json" />
-    <!-- Copy external dependency into the test output directory. -->
-    <SupplementalTestData Include="$(RuntimePath)Newtonsoft.Json.dll" />
+    <PackageReference Include="Newtonsoft.Json" Version="$(NewtonsoftJsonPackageVersion)" />
   </ItemGroup>
 </Project>
index 861866d..26e86cc 100644 (file)
@@ -6,9 +6,9 @@
   <ItemGroup>
     <Compile Include="BoundedChannelTests.cs" />
     <Compile Include="ChannelClosedExceptionTests.cs" />
-    <Compile Include="ChannelClosedExceptionTests.netcoreapp.cs" Condition="'$(TargetGroup)' == 'netcoreapp'" />
+    <Compile Include="ChannelClosedExceptionTests.netcoreapp.cs" Condition="'$(TargetsNetCoreApp)' == 'true'" />
     <Compile Include="ChannelTestBase.cs" />
-    <Compile Include="ChannelTestBase.netcoreapp.cs" Condition="'$(TargetGroup)' == 'netcoreapp'" />
+    <Compile Include="ChannelTestBase.netcoreapp.cs" Condition="'$(TargetsNetCoreApp)' == 'true'" />
     <Compile Include="ChannelTests.cs" />
     <Compile Include="TestBase.cs" />
     <Compile Include="UnboundedChannelTests.cs" />
index 166cb5a..096e995 100644 (file)
@@ -54,7 +54,7 @@
     </Compile>
     <Compile Include="Task\TaskDisposeTests.cs" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'netcoreapp'">
+  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true'">
     <Compile Include="CancellationTokenTests.netcoreapp.cs" />
     <Compile Include="Task\TaskCanceledExceptionTests.netcoreapp.cs" />
     <Compile Include="Task\TaskStatusTest.netcoreapp.cs" />
index 581054d..f97cd5e 100644 (file)
@@ -1,7 +1,8 @@
 <Project DefaultTargets="Build">
   <PropertyGroup>
     <BuildConfigurations>
-      netstandard;
+      netcoreapp;
+      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index e1664a0..84ad827 100644 (file)
@@ -5,7 +5,7 @@
     <TargetExt>.exe</TargetExt>
     <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
     <ProjectGuid>{32432E07-5CA4-41F3-9855-22AB1F1E69B3}</ProjectGuid>
-    <Configurations>netstandard-Debug;netstandard-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="DefaultApartmentStateMain.cs" />
index 581054d..f97cd5e 100644 (file)
@@ -1,7 +1,8 @@
 <Project DefaultTargets="Build">
   <PropertyGroup>
     <BuildConfigurations>
-      netstandard;
+      netcoreapp;
+      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 199faab..33bbd27 100644 (file)
@@ -5,7 +5,7 @@
     <TargetExt>.exe</TargetExt>
     <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
     <ProjectGuid>{06B19C7D-9EBE-420F-BD33-137DB18A1FEB}</ProjectGuid>
-    <Configurations>netstandard-Debug;netstandard-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="MTAMain.cs" />
index 581054d..f97cd5e 100644 (file)
@@ -1,7 +1,8 @@
 <Project DefaultTargets="Build">
   <PropertyGroup>
     <BuildConfigurations>
-      netstandard;
+      netcoreapp;
+      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index efb87a8..e4745c4 100644 (file)
@@ -5,7 +5,7 @@
     <TargetExt>.exe</TargetExt>
     <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
     <ProjectGuid>{8045E634-C181-4C6C-AE48-71AC18D1C637}</ProjectGuid>
-    <Configurations>netstandard-Debug;netstandard-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="STAMain.cs" />
index 3caef8d..8c20a2e 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <ProjectGuid>{72E9FB32-4692-4692-A10B-9F053F8F1A88}</ProjectGuid>
-    <IncludePartialFacadeTests Condition="'$(TargetGroup)' == 'netcoreapp' OR '$(TargetGroup)' == 'uap'">true</IncludePartialFacadeTests>
+    <IncludePartialFacadeTests>true</IncludePartialFacadeTests>
     <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <TestRuntime>true</TestRuntime>
     <RootNamespace>System</RootNamespace>
index bd20d5f..b0836e4 100644 (file)
@@ -2,9 +2,6 @@
   <PropertyGroup>
     <ProjectGuid>{AC1A1515-70D8-42E4-9B19-A72F739E974C}</ProjectGuid>
     <Configurations>netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netfx-Windows_NT-Debug;netfx-Windows_NT-Release</Configurations>
-    <SystemComponentmodelTypeconverterTestdataVersion>1.0.1</SystemComponentmodelTypeconverterTestdataVersion>
-    <SystemDrawingCommonTestdataVersion>1.0.9</SystemDrawingCommonTestdataVersion>
-    <SystemWindowsExtensionsTestdataVersion>1.0.2</SystemWindowsExtensionsTestdataVersion>
   </PropertyGroup>
   <ItemGroup Condition="'$(TargetsWindows)' == 'true'">
     <Compile Include="X509Certificate2UITests.cs" />
     <Compile Include="System\Media\SystemSoundsTests.cs" />
   </ItemGroup>
   <ItemGroup>
-    <SupplementalTestData Include="$(NuGetPackageRoot)system.componentmodel.typeconverter.testdata\$(SystemComponentmodelTypeconverterTestdataVersion)\content\**\*.*">
-      <Link>%(RecursiveDir)%(Filename)%(Extension)</Link>
-    </SupplementalTestData>
-    <SupplementalTestData Include="$(NuGetPackageRoot)system.drawing.common.testdata\$(SystemDrawingCommonTestdataVersion)\content\**\*.*">
-      <Link>%(RecursiveDir)%(Filename)%(Extension)</Link>
-    </SupplementalTestData>
-    <SupplementalTestData Include="$(NuGetPackageRoot)system.windows.extensions.testdata\$(SystemWindowsExtensionsTestdataVersion)\content\**\*.*">
-      <Link>%(RecursiveDir)%(Filename)%(Extension)</Link>
-    </SupplementalTestData>
+    <PackageReference Include="System.ComponentModel.TypeConverter.TestData" Version="$(SystemComponentModelTypeConverterTestDataPackageVersion)" />
+    <PackageReference Include="System.Drawing.Common.TestData" Version="$(SystemDrawingCommonTestDataPackageVersion)" />    
+    <PackageReference Include="System.Windows.Extensions.TestData" Version="$(SystemWindowsExtensionsTestDataPackageVersion)" />
   </ItemGroup>
 </Project>
index d881d29..0711f6f 100644 (file)
 
   <Target Name="Restore" DependsOnTargets="GenerateConfigurationProps">
     <ItemGroup>
-      <_RestoreProjects Include="external\dir.proj" />
+      <_RestoreProjects Include="external\dir.proj" Build="true" />
+    </ItemGroup>
+    
+    <ItemGroup Condition="'$(DotNetBuildFromSource)' != 'true'">
+      <_RestoreProjects Include="$(SourceDir)tests.proj" Build="false" />
+      <!-- Remove when ref and src project restore is enabled. -->
+      <_RestoreProjects Include="$(SourceDir)CoreFx.Private.TestUtilities\ref\CoreFx.Private.TestUtilities.csproj" Build="false" />
+      <_RestoreProjects Include="$(SourceDir)CoreFx.Private.TestUtilities\src\CoreFx.Private.TestUtilities.csproj" Build="false" />
     </ItemGroup>
 
-    <MSBuild Projects="@(_RestoreProjects)" Properties="$(ProjectProperties);DefaultBuildAllTarget=Restore" />
-    <MSBuild Projects="@(_RestoreProjects)" Properties="$(ProjectProperties)" />
+    <MSBuild Projects="@(_RestoreProjects)" Targets="Restore" Properties="$(ProjectProperties)" />
+    <MSBuild Projects="@(_RestoreProjects)" Condition="'%(Build)' != 'false'" Properties="$(ProjectProperties)" />
   </Target>
 
   <Target Name="BuildNative">
 
   <Target Name="BuildTests">
     <ItemGroup>
-      <_TestProjects Include="src\tests.builds" />
+      <_TestProjects Include="src\tests.proj" />
     </ItemGroup>
 
     <MSBuild Projects="@(_TestProjects)"
-             Targets="BuildAllProjects"
-             Properties="$(ProjectProperties);BuildTests=true" />
+             Targets="Build"
+             Properties="$(ProjectProperties)" />
   </Target>
 
   <Target Name="Test">
     <ItemGroup>
-      <_TestProjects Include="src\tests.builds" />
-    </ItemGroup>
-
-    <MSBuild Projects="@(_TestProjects)"
-             Targets="TestAllProjects"
-             Properties="$(ProjectProperties);Test=true" />
-  </Target>
-
-  <Target Name="IntegrationTest">
-    <ItemGroup>
-      <_TestProjects Include="src\tests.builds" />
-    </ItemGroup>
-
-    <MSBuild Projects="@(_TestProjects)"
-             Targets="TestAllProjects"
-             Properties="$(ProjectProperties);IntegrationTest=true" />
-  </Target>
-
-  <Target Name="PerformanceTest">
-    <ItemGroup>
-      <_TestProjects Include="src\tests.builds" />
+      <_TestProjects Include="src\tests.proj" />
     </ItemGroup>
 
     <MSBuild Projects="@(_TestProjects)"
-             Targets="TestAllProjects"
-             Properties="$(ProjectProperties);PerformanceTest=true" />
+             Targets="Test"
+             Properties="$(ProjectProperties)" />
   </Target>
 
   <Target Name="Pack">
 
   <Target Name="Build" DependsOnTargets="$(BuildDependsOn)" />
 
-  <Target Name="Clean">
-    <RemoveDir Directories="$(ArtifactsObjDir)" />
-    <RemoveDir Directories="$(ArtifactsBinDir)" />
-    <RemoveDir Directories="$(ArtifactsPackagesDir)" />
-  </Target>
-
   <Target Name="Rebuild" DependsOnTargets="Clean;Build" />
 
-  <!-- Hook that can be used to insert custom build tasks to the build process such as setup and/or cleanup tasks -->
-  <Import Project="build.override.targets" Condition="Exists('build.override.targets')" />
-
   <!-- set up inputs for UpdateVSConfigurations in a target to avoid globbing all the time -->
   <Target Name="_setProjectsToUpdate" BeforeTargets="UpdateVSConfigurations">
     <ItemGroup>
     </ItemGroup>
   </Target>
 
-  <!-- Define an empty Execute target for Arcade's publish to BAR finds it: https://github.com/dotnet/arcade/issues/1452 -->
-  <Target Name="Execute" />
+  <Import Project="$(RepositoryEngineeringDir)restore\uap-tools.targets" />
 </Project>
index 34efcad..0b5b07b 100644 (file)
@@ -1,11 +1,12 @@
 <Project>
   <Import Project="..\Directory.Build.props" />
+
   <PropertyGroup>
-    <ContainsPackageReferences>true</ContainsPackageReferences>
     <!-- We need configuration-specific assets files. -->
     <RestoreOutputPath>$(IntermediateOutputPath)</RestoreOutputPath>
     <ProjectAssetsFile>$(RestoreOutputPath)/project.assets.json</ProjectAssetsFile>
     <MSBuildProjectExtensionsPath>$(IntermediateOutputPath)</MSBuildProjectExtensionsPath>
+    <SkipDeriveTargetFrameworks>true</SkipDeriveTargetFrameworks>
     <!-- let us control the output path -->
     <AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
   </PropertyGroup>
index a4460fd..4a99b5d 100644 (file)
@@ -2,7 +2,6 @@
   <Import Project="..\Directory.Build.targets" />
 
   <PropertyGroup>
-    <RestorePackages>true</RestorePackages>
     <PrereleaseResolveNuGetPackages>true</PrereleaseResolveNuGetPackages>
   </PropertyGroup>
 
diff --git a/src/libraries/external/ILLink/ILLink.depproj b/src/libraries/external/ILLink/ILLink.depproj
deleted file mode 100644 (file)
index 7f13db5..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-  <PropertyGroup>
-    <TargetFramework>netcoreapp1.1</TargetFramework>
-    <OutputPath>$(ILLinkDir)</OutputPath>
-    <EnableBinPlacing>false</EnableBinPlacing>
-    <ILLinkTasksPackageId>illink.tasks</ILLinkTasksPackageId>
-    <ILLinkTasksPackageVersion>0.1.5-preview-1461378</ILLinkTasksPackageVersion>
-  </PropertyGroup>
-  <ItemGroup>
-    <PackageReference Include="$(ILLinkTasksPackageId)">
-      <Version>$(ILLinkTasksPackageVersion)</Version>
-    </PackageReference>
-  </ItemGroup>
-  <Target Name="IncludeToolsFiles"
-          AfterTargets="ResolvePackageAssets">
-    <ItemGroup>
-      <ReferenceCopyLocalPaths Include="$(NuGetPackageRoot)$(ILLinkTasksPackageId)\$(ILLinkTasksPackageVersion)\tools\netcoreapp2.0\*.*">
-        <NuGetPackageId>$(ILLinkTasksPackageId)</NuGetPackageId>
-        <NuGetPackageVersion>$(ILLinkTasksPackageVersion)</NuGetPackageVersion>
-        <SubFolder>/netcoreapp2.0/</SubFolder>
-      </ReferenceCopyLocalPaths>
-    </ItemGroup>
-    <ItemGroup>
-      <ReferenceCopyLocalPaths Include="$(NuGetPackageRoot)$(ILLinkTasksPackageId)\$(ILLinkTasksPackageVersion)\tools\net46\*.*">
-        <NuGetPackageId>$(ILLinkTasksPackageId)</NuGetPackageId>
-        <NuGetPackageVersion>$(ILLinkTasksPackageVersion)</NuGetPackageVersion>
-        <SubFolder>/net46/</SubFolder>
-      </ReferenceCopyLocalPaths>
-    </ItemGroup>
-  </Target>
-</Project>
diff --git a/src/libraries/external/ILLink/illink.runtimeconfig.json b/src/libraries/external/ILLink/illink.runtimeconfig.json
deleted file mode 100644 (file)
index 31f899f..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-  "runtimeOptions": {
-    "tfm": "netcoreapp1.1",
-    "framework": {
-      "name": "Microsoft.NETCore.App",
-      "version": "2.0.0"
-    }
-  }
-}
index 8f19841..8c0b293 100644 (file)
@@ -29,7 +29,7 @@
   <ItemGroup>
     <!-- runtime dependency: System.Data.SqlClient uap10.0.16299 -->
     <!-- runtime dependency: System.Diagnostics.PerformanceCounters netcoreapp2.0,net461 -->
-    <PackageReference Include="System.Memory" Condition="'$(TargetGroup)' == 'netcoreapp2.0' OR '$(TargetGroup)' == 'uap10.0.16299' OR '$(TargetsNetfx)' == 'true' OR ('$(TargetsNetStandard)' == 'true' AND '$(NETStandardVersion)' &gt;= 1.1)">
+    <PackageReference Include="System.Memory" Condition="'$(TargetFramework)' == 'netcoreapp2.0' OR '$(TargetFramework)' == 'uap10.0.16299' OR '$(TargetsNetfx)' == 'true' OR ('$(TargetsNetStandard)' == 'true' AND '$(NETStandardVersion)' &gt;= 1.1)">
       <Version>4.5.3</Version>
     </PackageReference>
 
@@ -37,7 +37,7 @@
       <Version>4.5.0</Version>
     </PackageReference>
 
-    <PackageReference Include="System.Threading.Tasks.Extensions" Condition="'$(TargetGroup)' == 'netcoreapp2.0' OR '$(TargetsNetfx)' == 'true' OR '$(TargetsNetStandard)' == 'true'">
+    <PackageReference Include="System.Threading.Tasks.Extensions" Condition="'$(TargetFramework)' == 'netcoreapp2.0' OR '$(TargetsNetfx)' == 'true' OR '$(TargetsNetStandard)' == 'true'">
       <Version>4.5.2</Version>
     </PackageReference>
 
index cb86099..e919935 100644 (file)
@@ -1,5 +1,5 @@
-<Project DefaultTargets="Build">
-  <Import Project="../Directory.Build.props" />
+<Project InitialTargets="IncludeProjectReferences">
+  <Import Sdk="Microsoft.NET.Sdk" Project="Sdk.props" />
 
   <PropertyGroup>
     <AdditionalBuildConfigurations>$(AdditionalBuildConfigurations);netstandard-$(OSGroup)-$(ConfigurationGroup)-$(ArchGroup)</AdditionalBuildConfigurations>
     <Project Include="netfx/netfx.depproj" />
     <Project Include="runtime/runtime.depproj" />
     <Project Include="tools/tools.depproj" />
-    <Project Include="test-runtime/XUnit.Runtime.depproj"  Condition="'$(DotNetBuildFromSource)' != 'true'" />
     <Project Include="harvestPackages/harvestPackages.depproj" />
     <Project Include="binplacePackages/binplacePackages.depproj" />
-    <Project Include="docs/docs.depproj" Condition="'$(DotNetBuildFromSource)' != 'true'" />
-    <Project Include="optimizationData/optimizationData.depproj" Condition="'$(EnableNgenOptimization)' == 'true' AND '$(DotNetBuildFromSource)' != 'true'" />
-    <Project Condition="'$(ILLinkTrimAssembly)' != 'false'" Include="ILLink/ILLink.depproj" />
   </ItemGroup>
 
-  <Import Project="$(RepositoryEngineeringDir)dir.traversal.targets" />
+  <!-- Set up project references to use the sdk restore target. -->
+  <Target Name="IncludeProjectReferences" DependsOnTargets="FilterProjects">
+    <ItemGroup>
+      <ProjectReference Include="@(Project)" />
+    </ItemGroup>
+  </Target>
+
+  <Import Sdk="Microsoft.NET.Sdk" Project="Sdk.targets" />
+
+  <!-- Overwrite the SDK build target. -->
+  <Target Name="Build" DependsOnTargets="FilterProjects">
+    <MSBuild Targets="Build"
+             Projects="@(Project)"
+             Properties="BuildConfiguration=$(BuildConfiguration);%(Project.AdditionalProperties)"
+             BuildInParallel="true"
+             ContinueOnError="ErrorAndStop" />
+
+    <!-- Given we ErrorAndContinue we need to propagate the error if the overall task failed -->
+    <Error Condition="'$(MSBuildLastTaskResult)'=='false'" />
+  </Target>
 </Project>
index 545934a..c22e46e 100644 (file)
@@ -3,9 +3,8 @@
        With this, we are able to compile assemblies against shipped, stable versions of .NET Core. -->
   <PropertyGroup>
     <NuGetDeploySourceItem>Reference</NuGetDeploySourceItem>
-    <NETCoreAppPackageVersion Condition="'$(TargetGroup)' == 'netcoreapp2.0'">2.0.7</NETCoreAppPackageVersion>
-    <NETCoreAppPackageVersion Condition="'$(TargetGroup)' == 'netcoreapp2.1'">2.1.3</NETCoreAppPackageVersion>
-    <TargetFramework>$(TargetGroup)</TargetFramework>
+    <NETCoreAppPackageVersion Condition="'$(TargetFramework)' == 'netcoreapp2.0'">2.0.7</NETCoreAppPackageVersion>
+    <NETCoreAppPackageVersion Condition="'$(TargetFramework)' == 'netcoreapp2.1'">2.1.3</NETCoreAppPackageVersion>
     <BinPlaceRef>true</BinPlaceRef>
   </PropertyGroup>
 
index 8acf4c3..89a96b8 100644 (file)
@@ -7,7 +7,7 @@
     <NETStandardSupportPackageId>NETStandard.Library.NETFramework</NETStandardSupportPackageId>
     <NETStandardSupportPackageVersion>2.0.1-servicing-26011-01</NETStandardSupportPackageVersion>
     <NETStandardSupportRoot>$(NuGetPackageRoot)$(NETStandardSupportPackageId.ToLower())\$(NETStandardSupportPackageVersion)\build</NETStandardSupportRoot>
-    <AddNetStandardSupportPackage Condition="'$(TargetGroup)' == 'net461' OR '$(TargetGroup)' == 'net462' OR '$(TargetGroup)' == 'net47'">true</AddNetStandardSupportPackage>
+    <AddNetStandardSupportPackage Condition="'$(TargetFramework)' == 'net461' OR '$(TargetFramework)' == 'net462' OR '$(TargetFramework)' == 'net47'">true</AddNetStandardSupportPackage>
   </PropertyGroup>
   <PropertyGroup Condition="'$(TargetsNetFx)' != 'true'">
     <!-- For things not .NETFramework we need the net472 targeting pack to generate facades -->
@@ -37,7 +37,7 @@
     <PackageReference Include="$(TargetingPackNugetPackageId)">
       <Version >$(_TargetingPackVersion)</Version>
     </PackageReference>
-    <PackageReference Include="System.Memory" Condition="'$(TargetGroup)' == 'net45' OR '$(TargetGroup)' == 'net46'">
+    <PackageReference Include="System.Memory" Condition="'$(TargetFramework)' == 'net45' OR '$(TargetFramework)' == 'net46'">
       <Version>4.5.2</Version>
     </PackageReference>
     <PackageReference Include="System.Numerics.Vectors" Condition="'$(TargetGroup)' == 'net461' OR '$(TargetGroup)' == 'netfx'">
   <Target Name="AddNETStandardShims" AfterTargets="FilterNugetPackages"
           Condition="'$(AddNetStandardSupportPackage)' == 'true'">
     <ItemGroup>
-      <_netStandardReference Condition="'$(TargetGroup)' != 'net461' AND '$(TargetGroup)' != 'net462'"
+      <_netStandardReference Condition="'$(TargetFramework)' != 'net461' AND '$(TargetFramework)' != 'net462'"
                              Include="$(NETStandardSupportRoot)\net47\lib\*.dll"
                              Exclude="@(_netStandardReference->'$(NETStandardSupportRoot)\net47\lib\%(FileName).dll')" />
-      <_netStandardReference Condition="'$(TargetGroup)' != 'net461'"
+      <_netStandardReference Condition="'$(TargetFramework)' != 'net461'"
                              Include="$(NETStandardSupportRoot)\net462\lib\*.dll"
                              Exclude="@(_netStandardReference->'$(NETStandardSupportRoot)\net462\lib\%(FileName).dll')" />
       <_netStandardReference Include="$(NETStandardSupportRoot)\net461\lib\*.dll"
diff --git a/src/libraries/external/optimizationData/optimizationData.depproj b/src/libraries/external/optimizationData/optimizationData.depproj
deleted file mode 100644 (file)
index 7bdc251..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-  <PropertyGroup>
-    <!-- Copy to IBC directory -->
-    <OutputPath>$(IbcOptimizationDataDir)</OutputPath>
-    <EnableBinPlacing>false</EnableBinPlacing>
-  </PropertyGroup>
-  <ItemGroup>
-    <!-- IBC data -->
-    <IBCPackage Include="$(WindowsCoreFxOptimizationDataPackageId)" Version="$(WindowsCoreFxOptimizationDataVersion)" />
-    <IBCPackage Include="$(LinuxCoreFxOptimizationDataPackageId)" Version="$(LinuxCoreFxOptimizationDataVersion)" />
-    <PackageReference Include="@(IBCPackage)" GeneratePathProperty="true" />
-  </ItemGroup>
-  
-  <!-- IBC data packages don't follow NuGet conventions, so grab the contents
-       using the NuGet-generated-property that points to the restored package.  -->
-  <Target Name="GetIBCData"
-          Inputs="%(IBCPackage.Identity)"
-          Outputs="unused"
-          AfterTargets="ResolveReferences">
-    <ItemGroup>
-      <IBCPackage>
-        <!-- Assign metadata using the nuget convention for property naming -->
-        <PropertyName>Pkg$([System.String]::new('%(IBCPackage.Identity)').Replace('.', '_'))</PropertyName>
-      </IBCPackage>
-    </ItemGroup>
-    <PropertyGroup>
-      <!-- evaluate the package property -->
-      <_ibcPkgSrc>$(%(IBCPackage.PropertyName))</_ibcPkgSrc>
-      <_ibcPkgDest>%(IBCPackage.Identity)</_ibcPkgDest>
-    </PropertyGroup>
-
-    <Error Condition="!Exists('$(_ibcPkgSrc)')" Text="Package '%(IBCPackage.Identity)' was not restored!" />
-
-    <ItemGroup>
-      <_optimizationDataSourceFile Include="$(_ibcPkgSrc)\**\*.dll;$(_ibcPkgSrc)\**\*.ibc" 
-                                   NuGetPackageId="%(IBCPackage.Identity)"
-                                   NuGetPackageVersion="%(IBCPackage.Version)" />
-      <_optimizationDataSourceFile SubFolder="$(_ibcPkgDest)\%(RecursiveDir)" />
-      <ReferenceCopyLocalPaths Include="@(_optimizationDataSourceFile)" />
-    </ItemGroup>
-  </Target>
-
-</Project>
index 026a8e1..152c888 100644 (file)
@@ -4,15 +4,19 @@
     <NoWarn>$(NoWarn);NU1603;NU1605</NoWarn>
     <SwapNativeForIL Condition="'$(SwapNativeForIL)' == '' AND ('$(ConfigurationGroup)' == 'Debug' OR '$(Coverage)' == 'true')">true</SwapNativeForIL>
     <!-- uap10.0.16299 is missing IL -->
-    <SwapNativeForIL Condition="'$(TargetGroup)'=='uap10.0.16299'">false</SwapNativeForIL>
+    <SwapNativeForIL Condition="'$(TargetFramework)'=='uap10.0.16299'">false</SwapNativeForIL>
   </PropertyGroup>
 
+  <ItemGroup Condition="'$(DotNetBuildFromSource)' != 'true'">
+    <PackageReference Include="Microsoft.DiaSymReader.Native" Version="1.7.0" />
+  </ItemGroup>
+
   <ItemGroup>
     <PackageReference Include="Microsoft.NETCore.Platforms" Version="$(MicrosoftNETCorePlatformsPackageVersion)" />
     <PackageReference Include="transport.Microsoft.NETCore.Runtime.CoreCLR">
       <Version>$(MicrosoftNETCoreRuntimeCoreCLRPackageVersion)</Version>
       <!-- Following is version used in release/uwp6.0 -->
-      <Version Condition="'$(TargetGroup)'=='uap10.0.16299'">2.1.0-b-uwp6-25707-02</Version>
+      <Version Condition="'$(TargetFramework)'=='uap10.0.16299'">2.1.0-b-uwp6-25707-02</Version>
     </PackageReference>
     <PackageReference Include="Microsoft.NETCore.TestHost" Version="$(MicrosoftNETCoreRuntimeCoreCLRPackageVersion)" />
     <PackageReference Include="runtime.native.System.Data.SqlClient.sni" Version="$(RuntimeNativeSystemDataSqlClientSniPackageVersion)" />
diff --git a/src/libraries/external/test-runtime/XUnit.Runtime.depproj b/src/libraries/external/test-runtime/XUnit.Runtime.depproj
deleted file mode 100644 (file)
index a6b9a06..0000000
+++ /dev/null
@@ -1,266 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-  <PropertyGroup Condition="'$(TargetGroup)' == 'uap'">
-    <TargetFramework>netstandard2.0</TargetFramework>
-    <!-- reset parts so that they can be re-inferred -->
-    <TargetFrameworkIdentifier />
-    <TargetFrameworkVersion />
-  </PropertyGroup>
-  <PropertyGroup>
-    <!-- Given that xunit packages bring with them part of the framework, we need to specify a runtime in order to get the assets
-         The only asset that we copy which is RID-specific is sni.dll which is only used in windows, which is why we default to Windows as the RID -->
-    <RuntimeIdentifier>win10-$(ArchGroup)</RuntimeIdentifier>
-    <!-- Use xunit for arm packages because of not providing armel package in win10 -->
-    <RuntimeIdentifier Condition="'$(ArchGroup)' == 'armel'">win10-arm</RuntimeIdentifier>
-    <OutputPath>$(RuntimePath)</OutputPath>
-    <XUnitRunnerConsolePackageName>xunit.runner.console</XUnitRunnerConsolePackageName>
-    <XUnitRunner>xunit.console</XUnitRunner>
-    <XUnitTestAdapterPackageId>xunit.runner.visualstudio</XUnitTestAdapterPackageId>
-    <XUnitAdapter Condition="'$(TargetGroup)' == 'netcoreapp'">xunit.runner.visualstudio.dotnetcore.testadapter</XUnitAdapter>
-    <XUnitAdapter Condition="'$(TargetGroup)' == 'uap'">xunit.runner.visualstudio.uwp.testadapter</XUnitAdapter>
-    <XUnitAdapter Condition="'$(TargetGroup)' == 'netfx'">xunit.runner.visualstudio.testadapter</XUnitAdapter>
-    <MicrosoftDotNetUapTestToolsPackageName>microsoft.dotnet.uap.testtools</MicrosoftDotNetUapTestToolsPackageName>
-    <MicrosoftNetTestSdkPackageName>microsoft.net.test.sdk</MicrosoftNetTestSdkPackageName>
-    <TestPlatformHostPackageId>microsoft.testplatform.testhost</TestPlatformHostPackageId>
-    <MicrosoftDiagnosticsTracingTraceEventPackageName>Microsoft.Diagnostics.Tracing.TraceEvent</MicrosoftDiagnosticsTracingTraceEventPackageName>
-    <TestPlatformHost>testhost</TestPlatformHost>
-    <!-- Explicitly set Language to c# to handle the analyzer resolution in nuget -->
-    <Language Condition="'$(Language)' == ''">c#</Language>
-    <!-- Don't warn if some dependencies were rolled forward -->
-    <NoWarn>$(NoWarn);NU1603;NU1701</NoWarn>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <!-- xunit packages -->
-    <PackageReference Include="xunit" Version="$(XUnitPackageVersion)" />
-    <PackageReference Include="$(MicrosoftDotNetXUnitExtensionsPackage)" Version="$(MicrosoftDotNetXUnitExtensionsPackageVersion)" />
-    <PackageReference Include="$(MicrosoftDotNetRemoteExecutorPackage)" Version="$(MicrosoftDotNetRemoteExecutorPackageVersion)" IncludeAssets="build" ExcludeAssets="none" />
-    <PackageReference Condition="'$(TargetsNetCoreApp)' == 'true'" Include="$(MicrosoftDotNetXUnitConsoleRunnerPackage)" Version="$(MicrosoftDotNetXUnitConsoleRunnerPackageVersion)" />
-    <PackageReference Condition="'$(TargetsNetFx)' == 'true'" Include="$(XUnitRunnerConsolePackageName)" Version="$(XUnitPackageVersion)" />
-    <PackageReference Condition="'$(TargetsUap)' == 'true'" Include="$(MicrosoftDotNetUapTestToolsPackageName)" Version="$(MicrosoftDotNetUapTestToolsPackageVersion)" />
-    <PackageReference Include="Microsoft.Diagnostics.Runtime" Version="1.0.5" />
-
-    <!-- for callstack line numbers -->
-    <PackageReference Include="Microsoft.DiaSymReader.Native" Version="1.5.0" />
-    <PackageReference Include="Newtonsoft.Json" Version="12.0.1" />
-
-    <!-- Test Data -->
-    <PackageReference Include="System.IO.Compression.TestData" Version="1.0.8" />
-    <PackageReference Include="System.IO.Packaging.TestData" Version="1.0.1" />
-    <PackageReference Include="System.Security.Cryptography.X509Certificates.TestData" Version="1.0.3" />
-    <PackageReference Include="System.Net.TestData" Version="1.0.2" />
-    <PackageReference Include="System.ComponentModel.TypeConverter.TestData" Version="1.0.1" />
-    <PackageReference Include="System.Drawing.Common.TestData" Version="1.0.9" />
-    <PackageReference Include="System.Text.RegularExpressions.TestData" Version="1.0.3" />
-    <PackageReference Include="System.Windows.Extensions.TestData" Version="1.0.2" />
-
-    <PackageToInclude Include="xunit.abstractions" />
-    <PackageToInclude Include="xunit.assert" />
-    <PackageToInclude Include="xunit.extensibility.core" />
-    <PackageToInclude Include="xunit.extensibility.execution" />
-    <PackageToInclude Include="xunit.runner.utility" />
-    <PackageToInclude Include="Microsoft.Diagnostics.Runtime" />
-    <PackageToInclude Include="$(MicrosoftDotNetXUnitExtensionsPackage)" />
-    <PackageToInclude Include="$(MicrosoftDotNetRemoteExecutorPackage)" />
-    <PackageToInclude Condition="'$(TargetsNetCoreApp)' == 'true'" Include="$(MicrosoftDotNetXUnitConsoleRunnerPackage)" />
-    <PackageToInclude Condition="'$(TargetsNetFx)' == 'true'" Include="$(XUnitRunnerConsolePackageName)" />
-    <PackageToInclude Include="Microsoft.DiaSymReader.Native" />
-    <PackageToInclude Include="Newtonsoft.Json" />
-  </ItemGroup>
-
-  <!-- Microsoft.Diagnostics.Tracing testing -->
-  <ItemGroup Condition="'$(TargetGroup)' != 'uap'">
-    <PackageReference Include="$(MicrosoftDiagnosticsTracingTraceEventPackageName)" Version="$(TraceEventPackageVersion)" />
-    
-    <PackageToInclude Include="$(MicrosoftDiagnosticsTracingTraceEventPackageName)"/>
-  </ItemGroup>
-
-  <!-- Microsoft.NET.Test.SDK packages. -->
-  <ItemGroup Condition="'$(EnableVSTestReferences)' == 'true'">
-    <PackageReference Include="$(XUnitTestAdapterPackageId)" Version="$(XUnitPackageVersion)" />
-    <PackageReference Include="$(MicrosoftNetTestSdkPackageName)" Version="$(MicrosoftNETTestSdkPackageVersion)" />
-    <PackageReference Condition="'$(TargetsNetFx)' != 'true'" Include="$(TestPlatformHostPackageId)" Version="$(MicrosoftNETTestSdkPackageVersion)" />
-    <PackageReference Condition="'$(TargetsNetFx)' != 'true'" Include="Microsoft.TestPlatform.ObjectModel" Version="$(MicrosoftNETTestSdkPackageVersion)" />
-    <PackageReference Condition="'$(TargetsNetCoreApp)' == 'true'" Include="Microsoft.Extensions.DependencyModel" Version="2.0.4" />
-    <PackageReference Condition="'$(TargetsNetCoreApp)' == 'true' OR '$(TargetsNetFx)' == 'true'" Include="Microsoft.CodeCoverage" Version="$(MicrosoftNETTestSdkPackageVersion)" />
-
-    <PackageToInclude Include="$(XUnitTestAdapterPackageId)" />
-    <PackageToInclude Condition="'$(TargetsNetFx)' != 'true'" Include="Microsoft.TestPlatform.TestHost" />
-    <PackageToInclude Condition="'$(TargetsNetFx)' != 'true'" Include="Microsoft.TestPlatform.ObjectModel" />
-    <PackageToInclude Condition="'$(TargetsNetCoreApp)' == 'true'" Include="Microsoft.Extensions.DependencyModel" />
-    <PackageToInclude Condition="'$(TargetsNetCoreApp)' == 'true' OR '$(TargetsNetFx)' == 'true'" Include="Microsoft.CodeCoverage" />
-  </ItemGroup>
-
-  <!--
-    Ensure that the native components of TraceEvent are restored into the testhost
-    so that TraceEvent can pinvoke into them.
-  -->
-  <Target Name="CopyTraceEventNativeFiles"
-          Condition="'$(TargetGroup)' == 'netcoreapp' OR '$(TargetGroup)' == 'netfx'"
-          AfterTargets="AfterResolveReferences">
-
-    <ItemGroup>
-      <TraceEventNativeFiles Include="$(NuGetPackageRoot)$(MicrosoftDiagnosticsTracingTraceEventPackageName)\$(TraceEventPackageVersion)\lib\native\**\*.*" />
-    </ItemGroup>
-
-    <PropertyGroup>
-      <TraceEventDestinationFolder Condition="'$(TargetGroup)' == 'netcoreapp'">$(NETCoreAppTestSharedFrameworkPath)</TraceEventDestinationFolder>
-      <TraceEventDestinationFolder Condition="'$(TargetGroup)' == 'netfx'">$(TestHostRootPath)</TraceEventDestinationFolder>
-    </PropertyGroup>
-
-    <Copy SourceFiles="@(TraceEventNativeFiles)"
-          DestinationFolder="$(TraceEventDestinationFolder)%(RecursiveDir)"
-          SkipUnchangedFiles="true" />
-
-  </Target>
-
-  <!-- Retrieve the UAP Tools to the TestHost folder -->
-  <Target Name="CopyUAPToolsToTestHost"
-          Condition="'$(TargetGroup)' == 'uap'"
-          AfterTargets="AfterResolveReferences">
-
-    <PropertyGroup>
-      <UAPToolsFolder Condition="'$(UAPToolsFolder)'==''">$(NuGetPackageRoot)$(MicrosoftDotNetUapTestToolsPackageName)\$(MicrosoftDotNetUapTestToolsPackageVersion)\Tools\$(ArchGroup)</UAPToolsFolder>
-      <UAPToolsFolder>$(UAPToolsFolder.Replace('/', '\'))</UAPToolsFolder>
-    </PropertyGroup>
-
-    <!-- Give a warning that the UAPToolsFolder is not set and that tests won't run -->
-    <Warning Condition="('$(UAPToolsFolder)'=='' or !Exists('$(UAPToolsFolder)')) AND '$(BuildAllConfigurations)' != 'true'" Text="Could not find the UAP Tools at '$(UAPToolsFolder)'. Please run restore." />
-
-    <ItemGroup Condition="'$(UAPToolsFolder)'!=''">
-      <RunnerFolderContents Include="$(UAPToolsFolder)\Runner\**\*" />
-      <LauncherFolderContents Include="$(UAPToolsFolder)\Launcher\**\*" />
-    </ItemGroup>
-
-    <Copy Condition="'$(UAPToolsFolder)'!=''"
-          SourceFiles="@(RunnerFolderContents)"
-          DestinationFolder="$(TestHostRootPath)\Runner\%(RecursiveDir)"
-          SkipUnchangedFiles="true"/>
-
-    <Copy Condition="'$(UAPToolsFolder)'!=''"
-          SourceFiles="@(LauncherFolderContents)"
-          DestinationFolder="$(TestHostRootPath)\Launcher\%(RecursiveDir)"
-          SkipUnchangedFiles="true"/>
-
-  </Target>
-
-  <Target Name="AddTestPlatformDependencies"
-          Condition="'$(EnableVSTestReferences)' == 'true'"
-          BeforeTargets="ResolveReferences">
-
-    <PropertyGroup>
-      <TestSdkTFM Condition="'$(TargetsNetFx)' == 'true'">net40</TestSdkTFM>
-      <TestSdkTFM Condition="'$(TargetsUap)' == 'true'">uap10.0</TestSdkTFM>
-      <TestSdkTFM Condition="'$(TestSdkTFM)' == ''">netcoreapp1.0</TestSdkTFM>
-    </PropertyGroup>
-
-    <ItemGroup>
-      <_microsoftNetTestSdkAssets Include="$(NuGetPackageRoot)$(MicrosoftNetTestSdkPackageName)\$(MicrosoftNETTestSdkPackageVersion)\build\$(TestSdkTFM)\*.*" />
-      <ReferenceCopyLocalPaths Include="@(_microsoftNetTestSdkAssets)">
-        <Private>false</Private>
-        <NuGetPackageId>$(MicrosoftNetTestSdkPackageName)</NuGetPackageId>
-        <NuGetPackageVersion>$(MicrosoftNETTestSdkPackageVersion)</NuGetPackageVersion>
-      </ReferenceCopyLocalPaths>
-    </ItemGroup>
-
-    <Error Condition="'@(_microsoftNetTestSdkAssets)' == ''"
-           Text="Error: no assets for test sdk package were found under: $(NuGetPackageRoot)$(MicrosoftNetTestSdkPackageName)\$(MicrosoftNETTestSdkPackageVersion)\build\$(TestSdkTFM)\*.*" />
-
-  </Target>
-
-  <Target Name="AddTestPlatformDependenciesNetCore"
-          Condition="'$(TargetGroup)' == 'netcoreapp'"
-          BeforeTargets="ResolveReferences">
-
-    <Error Condition="!Exists('$(NuGetPackageRoot)$(MicrosoftDotNetXUnitConsoleRunnerPackage)\$(MicrosoftDotNetXUnitConsoleRunnerPackageVersion)\tools\netcoreapp2.1\$(XUnitRunner).dll')"
-           Text="Error: looks the package $(NuGetPackageRoot)$(MicrosoftDotNetXUnitConsoleRunnerPackage)\$(MicrosoftDotNetXUnitConsoleRunnerPackageVersion) not restored or missing $(XUnitRunner).dll." />
-    <Error Condition="'$(EnableVSTestReferences)' == 'true' AND !Exists('$(NuGetPackageRoot)$(XUnitTestAdapterPackageId)\$(XUnitPackageVersion)\build\netcoreapp1.0\$(XUnitAdapter).dll')"
-           Text="Error: looks the package $(NuGetPackageRoot)$(XUnitTestAdapterPackageId)\$(XUnitPackageVersion) not restored or missing $(XUnitAdapter).dll." />
-    <Error Condition="'$(EnableVSTestReferences)' == 'true' AND !Exists('$(NuGetPackageRoot)$(TestPlatformHostPackageId)\$(MicrosoftNETTestSdkPackageVersion)\lib\netstandard1.5\$(TestPlatformHost).dll')"
-           Text="Error: looks the package $(NuGetPackageRoot)$(TestPlatformHostPackageId)\$(MicrosoftNETTestSdkPackageVersion) not restored or missing $(TestPlatformHost).dll." />
-
-    <ItemGroup>
-      <ReferenceCopyLocalPaths Include="$(NuGetPackageRoot)$(MicrosoftDotNetXUnitConsoleRunnerPackage)\$(MicrosoftDotNetXUnitConsoleRunnerPackageVersion)\tools\netcoreapp2.1\*.*" Exclude="$(NuGetPackageRoot)$(MicrosoftDotNetXUnitConsoleRunnerPackage)\$(MicrosoftDotNetXUnitConsoleRunnerPackageVersion)\tools\netcoreapp2.1\xunit.core.dll">
-        <Private>false</Private>
-        <NuGetPackageId>$(MicrosoftDotNetXUnitConsoleRunnerPackage)</NuGetPackageId>
-        <NuGetPackageVersion>$(MicrosoftDotNetXUnitConsoleRunnerPackageVersion)</NuGetPackageVersion>
-      </ReferenceCopyLocalPaths>
-      <ReferenceCopyLocalPaths Condition="'$(EnableVSTestReferences)' == 'true'" Include="$(NuGetPackageRoot)$(XUnitTestAdapterPackageId)\$(XUnitPackageVersion)\build\netcoreapp1.0\*.*">
-        <Private>false</Private>
-        <NuGetPackageId>$(XUnitTestAdapterPackageId)</NuGetPackageId>
-        <NuGetPackageVersion>$(XUnitPackageVersion)</NuGetPackageVersion>
-      </ReferenceCopyLocalPaths>
-      <ReferenceCopyLocalPaths Condition="'$(EnableVSTestReferences)' == 'true'" Include="$(NuGetPackageRoot)$(TestPlatformHostPackageId)\$(MicrosoftNETTestSdkPackageVersion)\lib\netstandard1.5\$(TestPlatformHost).dll">
-        <Private>false</Private>
-        <NuGetPackageId>$(TestPlatformHostPackageId)</NuGetPackageId>
-        <NuGetPackageVersion>$(MicrosoftNETTestSdkPackageVersion)</NuGetPackageVersion>
-      </ReferenceCopyLocalPaths>
-    </ItemGroup>
-
-  </Target>
-
-  <Target Name="AddTestPlatformDependenciesUap"
-          Condition="'$(TargetsUap)' == 'true'"
-          BeforeTargets="ResolveReferences">
-
-    <Error Condition="'$(EnableVSTestReferences)' == 'true' AND !Exists('$(NuGetPackageRoot)$(XUnitTestAdapterPackageId)\$(XUnitPackageVersion)\build\uap10.0\$(XUnitAdapter).dll')"
-            Text="Error: looks the package $(NuGetPackageRoot)$(XUnitTestAdapterPackageId)\$(XUnitPackageVersion) not restored or missing $(XUnitAdapter).dll." />
-    <Error Condition="'$(EnableVSTestReferences)' == 'true' AND !Exists('$(NuGetPackageRoot)$(TestPlatformHostPackageId)\$(MicrosoftNETTestSdkPackageVersion)\lib\uap10.0\$(TestPlatformHost).dll')"
-            Text="Error: looks the package $(NuGetPackageRoot)$(TestPlatformHostPackageId)\$(MicrosoftNETTestSdkPackageVersion) not restored or missing $(TestPlatformHost).dll." />
-
-    <ItemGroup>
-      <ReferenceCopyLocalPaths Condition="'$(EnableVSTestReferences)' == 'true'" Include="$(NuGetPackageRoot)$(XUnitTestAdapterPackageId)\$(XUnitPackageVersion)\build\uap10.0\*.dll">
-        <Private>false</Private>
-        <NuGetPackageId>$(XUnitTestAdapterPackageId)</NuGetPackageId>
-        <NuGetPackageVersion>$(XUnitPackageVersion)</NuGetPackageVersion>
-      </ReferenceCopyLocalPaths>
-      <ReferenceCopyLocalPaths Condition="'$(EnableVSTestReferences)' == 'true'" Include="$(NuGetPackageRoot)$(TestPlatformHostPackageId)\$(MicrosoftNETTestSdkPackageVersion)\lib\uap10.0\$(TestPlatformHost).dll">
-        <Private>false</Private>
-        <NuGetPackageId>$(TestPlatformHostPackageId)</NuGetPackageId>
-        <NuGetPackageVersion>$(MicrosoftNETTestSdkPackageVersion)</NuGetPackageVersion>
-      </ReferenceCopyLocalPaths>
-    </ItemGroup>
-
-  </Target>
-
-  <Target Name="AddTestPlatformDependenciesNetfx"
-          Condition="'$(TargetGroup)' == 'netfx'"
-          BeforeTargets="ResolveReferences">
-
-    <Error Condition="!Exists('$(NuGetPackageRoot)$(XUnitRunnerConsolePackageName)\$(XUnitPackageVersion)\tools\net472\$(XUnitRunner).exe')"
-           Text="Error: looks the package $(NuGetPackageRoot)$(XUnitRunnerConsolePackageName)\$(XUnitPackageVersion) not restored or missing $(XUnitRunner).exe." />
-    <Error Condition="'$(EnableVSTestReferences)' == 'true' AND !Exists('$(NuGetPackageRoot)$(XUnitTestAdapterPackageId)\$(XUnitPackageVersion)\build\_common\$(XUnitAdapter).dll')"
-           Text="Error: looks the package $(NuGetPackageRoot)$(XUnitTestAdapterPackageId)\$(XUnitPackageVersion) not restored or missing $(XUnitAdapter).dll." />
-
-    <ItemGroup>
-      <ReferenceCopyLocalPaths Include="$(NuGetPackageRoot)$(XUnitRunnerConsolePackageName)\$(XUnitPackageVersion)\tools\net472\*.*"
-                               Exclude="$(NuGetPackageRoot)$(XUnitRunnerConsolePackageName)\$(XUnitPackageVersion)\tools\net472\xunit.console.*exe.config">
-        <Private>false</Private>
-        <NuGetPackageId>$(XUnitRunnerConsolePackageName)</NuGetPackageId>
-        <NuGetPackageVersion>$(XUnitPackageVersion)</NuGetPackageVersion>
-      </ReferenceCopyLocalPaths>
-      <ReferenceCopyLocalPaths Condition="'$(EnableVSTestReferences)' == 'true'" Include="$(NuGetPackageRoot)$(XUnitTestAdapterPackageId)\$(XUnitPackageVersion)\build\_common\*.*">
-        <Private>false</Private>
-        <NuGetPackageId>$(XUnitTestAdapterPackageId)</NuGetPackageId>
-        <NuGetPackageVersion>$(XUnitPackageVersion)</NuGetPackageVersion>
-      </ReferenceCopyLocalPaths>
-    </ItemGroup>
-
-  </Target>
-
-  <Target Name="AddRemoteExecutorLib"
-          BeforeTargets="ResolveReferences">
-
-    <Error Condition="!Exists('$(NuGetPackageRoot)$(MicrosoftDotNetRemoteExecutorPackage)\$(MicrosoftDotNetRemoteExecutorPackageVersion)\lib\netstandard2.0\Microsoft.DotNet.RemoteExecutor.dll')"
-           Text="Error: looks the package $(NuGetPackageRoot)$(MicrosoftDotNetRemoteExecutorPackage)\$(MicrosoftDotNetRemoteExecutorPackageVersion) not restored or missing Microsoft.DotNet.RemoteExecutor.dll." />
-
-    <ItemGroup>
-      <ReferenceCopyLocalPaths Include="$(NuGetPackageRoot)$(MicrosoftDotNetRemoteExecutorPackage)\$(MicrosoftDotNetRemoteExecutorPackageVersion)\lib\netstandard2.0\*.*">
-        <Private>false</Private>
-        <NuGetPackageId>$(MicrosoftDotNetRemoteExecutorPackage)</NuGetPackageId>
-        <NuGetPackageVersion>$(MicrosoftDotNetRemoteExecutorPackageVersion)</NuGetPackageVersion>
-      </ReferenceCopyLocalPaths>
-    </ItemGroup>
-
-  </Target>
-
-</Project>
index 2870dce..665a8d4 100644 (file)
@@ -1,7 +1,7 @@
-<Project>
+<Project>
   <PropertyGroup>
     <BuildConfigurations>
       netstandard;
     </BuildConfigurations>
   </PropertyGroup>
-</Project>
+</Project>
\ No newline at end of file
index 833a612..579af95 100644 (file)
@@ -1,4 +1,4 @@
-<Project Sdk="Microsoft.NET.Sdk">
+<Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <OutputPath>$(ILAsmToolPath)</OutputPath>
     <EnableBinPlacing>false</EnableBinPlacing>
@@ -14,4 +14,4 @@
       <Version>$(MicrosoftNETCoreILAsmPackageVersion)</Version>
     </PackageReference>
   </ItemGroup>
-</Project>
+</Project>
\ No newline at end of file
diff --git a/src/libraries/post.builds b/src/libraries/post.builds
deleted file mode 100644 (file)
index 2afceda..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<Project DefaultTargets="Build">
-
-  <Import Project="Directory.Build.props" />
-  <Import Project="..\Directory.Build.targets" />
-
-  <!-- provides a hook for executing targets after the product and tests have been built -->
-  <Target Name="Build" />
-  <Target Name="Clean" />
-  <Target Name="Rebuild" DependsOnTargets="Clean;Build" />
-  <Target Name="DumpTargets" />
-
-</Project>
index 51fbda1..c4a9e52 100644 (file)
@@ -15,7 +15,7 @@
       <_TestProjectRootDir Condition="'$(DirectoryToBuild)'!=''">$(DirectoryToBuild)</_TestProjectRootDir>
     </PropertyGroup>
     <ItemGroup>
-      <!-- Keep in sync with pattern for test projects in tests.builds -->
+      <!-- Keep in sync with pattern for test projects in tests.proj -->
       <TestProjects Include="$(_TestProjectRootDir)*\tests\**\*Tests.csproj" />
       <TestProjects Include="$(_TestProjectRootDir)*\tests\**\*Tests.vbproj" />
     </ItemGroup>
index 97c2ed3..fd1d746 100644 (file)
@@ -8,10 +8,10 @@
     <ApiCompatBaselineIgnoreFile>$(MSBuildThisFileDirectory)ApiCompatBaseline.$(TargetGroup).netfx461.ignore.txt</ApiCompatBaselineIgnoreFile>
     <ApiCompatNSBaselineFile>$(MSBuildThisFileDirectory)ApiCompatBaseline.$(TargetGroup).netstandard.txt</ApiCompatNSBaselineFile>
     <ApiCompatNSOnlyBaselineFile>$(MSBuildThisFileDirectory)ApiCompatBaseline.$(TargetGroup).netstandardOnly.txt</ApiCompatNSOnlyBaselineFile>
-    <ApiCompatImplementationDirs>$(RefPath)</ApiCompatImplementationDirs>
+    <ApiCompatImplementationDirs>$(RefPath.TrimEnd('\/'))</ApiCompatImplementationDirs>
     <!-- If we are targeting uap run ApiCompat against the implementation assemblies instead since they don't match the reference assemblies -->
     <!-- also include $(RefPath) last to pick up windows.winmd dependency, which we don't place in RuntimePath -->
-    <ApiCompatImplementationDirs Condition="'$(TargetsUap)' == 'true'">$(RuntimePath),$(RefPath)</ApiCompatImplementationDirs>
+    <ApiCompatImplementationDirs Condition="'$(TargetsUap)' == 'true'">$(RuntimePath.TrimEnd('\/')),$(RefPath.TrimEnd('\/'))</ApiCompatImplementationDirs>
     <!-- Set to true to build this project -->
     <!-- Separate property otherwise /p:BaselineApiCompat=true would force it to run even for non-UAP -->
     <BaselineApiCompat Condition="'$(BaselineApiCompat)' == ''">false</BaselineApiCompat>
@@ -55,7 +55,7 @@
     <Error Condition="'$(ApiCompatExitCode)' != '0'" Text="ApiCompat failed comparing netfx to $(TargetGroup)" />
 
     <PropertyGroup>
-      <NETStandard21OnlyRef>$(NetStandard21RefPath)/netstandard.dll</NETStandard21OnlyRef>
+      <NETStandard21OnlyRef>$(NetStandard21RefPath)netstandard.dll</NETStandard21OnlyRef>
     </PropertyGroup>
 
     <Exec Command="$(_ApiCompatCommand) &quot;$(NETStandard21OnlyRef)&quot; @&quot;$(ApiCompatResponseFile)&quot; --baseline $(ApiCompatNSOnlyBaselineFile)"
@@ -69,7 +69,7 @@
     <Error Condition="'$(ApiCompatExitCode)' != '0'" Text="ApiCompat failed comparing netstandard.dll to $(TargetGroup)" />
 
     <!-- TODO: Once the repo targets netstandard2.1, have this instance of APICompat run against NetStandard21RefPath -->
-    <Exec Command="$(_ApiCompatCommand) &quot;$(NetStandardRefPath)&quot; --baseline &quot;$(ApiCompatNSBaselineFile)&quot; @&quot;$(ApiCompatResponseFile)&quot;"
+    <Exec Command="$(_ApiCompatCommand) &quot;$(NetStandardRefPath.TrimEnd('\/'))&quot; --baseline &quot;$(ApiCompatNSBaselineFile)&quot; @&quot;$(ApiCompatResponseFile)&quot;"
           CustomErrorRegularExpression="^[a-zA-Z]+ :"
           StandardOutputImportance="Low"
           IgnoreExitCode="true"
index 2c28d9c..bde02ea 100644 (file)
@@ -2,7 +2,7 @@
   <!-- IMPORTANT: please rebuild generateShims.proj when making changes to this file -->
   <ItemGroup>
     <NetFxReference Include="mscorlib" />
-    <NetFxReference Condition="'$(TargetGroup)' != 'netcoreapp2.0'" Include="Microsoft.VisualBasic" />
+    <NetFxReference Condition="'$(TargetFramework)' != 'netcoreapp2.0'" Include="Microsoft.VisualBasic" />
     <NetFxReference Include="System" />
     <NetFxReference Include="System.ComponentModel.DataAnnotations" />
     <NetFxReference Include="System.Configuration" />
diff --git a/src/libraries/tests.builds b/src/libraries/tests.builds
deleted file mode 100644 (file)
index 2cf6fd7..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-<Project DefaultTargets="Build">
-  <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), Directory.Build.props))\Directory.Build.props" />
-
-  <PropertyGroup>
-    <!-- When building through build-tests.cmd tests.builds is the main project that is being built. We set IsTestProject to true when the project path has /tests/.
-    Since IsTestProject is set to false in this case, when TargetGroup = netfx it will add net462 and net47 build configurations if they exist on the test project.
-    We only want to build tests against current TargetGroup -->
-    <AdditionalBuildConfigurations Condition="'$(TargetGroup)' == 'netfx'"></AdditionalBuildConfigurations>
-    <EnableBenchviewTarget Condition="'$(PerformanceTest)' == 'true'">true</EnableBenchviewTarget>
-    <EnableFullCoverageReportTarget>true</EnableFullCoverageReportTarget>
-    <GenerateFullCoverageReport>true</GenerateFullCoverageReport>
-    <CoverageReportInputPath>$(TestWorkingDir)**/coverage.xml</CoverageReportInputPath>
-    <CoverageReportDir>$(ArtifactsDir)coverage</CoverageReportDir>
-    <!-- For UAP we are using an APPX that is registered with a unique ID. Because of that we need to run tests sequentially -->
-    <SerializeProjects Condition="'$(BuildTests)' != 'true' AND ('$(BuildingUAPVertical)' == 'true' or '$(Coverage)' == 'true' or '$(PerformanceTest)' == 'true')">true</SerializeProjects>
-    <TraversalBuildDependsOn Condition="'$(BuildingUAPVertical)' == 'true'">MakeCommonResourcesPriFile;$(TraversalBuildDependsOn)</TraversalBuildDependsOn>
-  </PropertyGroup>
-
-  <PropertyGroup>
-    <TestProjectFilter Condition="'$(Test)' == 'true'">Tests</TestProjectFilter>
-    <TestProjectFilter Condition="'$(IntegrationTest)' == 'true'">IntegrationTests</TestProjectFilter>
-    <TestProjectFilter Condition="'$(PerformanceTest)' == 'true'">PerformanceTests</TestProjectFilter>
-    <_TestProjectFilter Condition="'$(TestProjectFilter)' != ''">.$(TestProjectFilter)</_TestProjectFilter>
-    <!-- By default build all test project types to capture build errors in CI. -->
-    <_TestProjectFilter Condition="'$(TestProjectFilter)' == '' or '$(BuildAllTests)' == 'true'">Tests</_TestProjectFilter>
-  </PropertyGroup>
-
-  <ItemGroup Condition="'$(BuildAllConfigurations)' != 'true'">
-    <!-- Keep in sync with pattern for test projects in build.proj -->
-    <Project Include="$(SourceDir)*\tests\**\*$(_TestProjectFilter).csproj" Exclude="@(TestProjectExclusions)" />
-    <Project Include="$(SourceDir)*\tests\**\*$(_TestProjectFilter).vbproj" Exclude="@(TestProjectExclusions)" />
-  </ItemGroup>
-
-  <ItemGroup Condition="'$(BuildAllConfigurations)' == 'true'">
-    <Project Include="$(RepoRoot)pkg\test\testPackages.proj" />
-  </ItemGroup>
-
-  <Import Project="$(RepositoryEngineeringDir)dir.traversal.targets" />
-</Project>
diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj
new file mode 100644 (file)
index 0000000..f3d79f5
--- /dev/null
@@ -0,0 +1,66 @@
+<Project InitialTargets="IncludeProjectReferences">
+  <Import Sdk="Microsoft.NET.Sdk" Project="Sdk.props" />
+
+  <PropertyGroup>
+    <EnableFullCoverageReportTarget>true</EnableFullCoverageReportTarget>
+    <GenerateFullCoverageReport>true</GenerateFullCoverageReport>
+    <CoverageReportInputPath>$(ArtifactsBinDir)*.Tests/**/coverage.xml</CoverageReportInputPath>
+    <CoverageReportDir>$(ArtifactsDir)coverage</CoverageReportDir>
+    <!-- For UAP we are using an APPX that is registered with a unique ID. Because of that we need to run tests sequentially -->
+    <SerializeProjects Condition="'$(BuildingUAPVertical)' == 'true' or '$(Coverage)' == 'true'">true</SerializeProjects>
+  </PropertyGroup>
+
+  <ItemGroup Condition="'$(BuildAllConfigurations)' != 'true'">
+    <Project Include="$(SourceDir)*\tests\**\*.Tests.csproj" />
+
+    <!-- Harcoded list of non-csproj test projects to reduce time spent on file globbing. -->
+    <Project Include="$(SourceDir)System.Runtime\tests\TestStructs\System.TestStructs.ilproj" />
+    <Project Include="$(SourceDir)System.Runtime\tests\TestModule\System.Reflection.TestModule.ilproj" />
+  </ItemGroup>
+
+  <ItemGroup Condition="'$(BuildAllConfigurations)' == 'true'">
+    <Project Include="$(RepoRoot)pkg\test\testPackages.proj" />
+  </ItemGroup>
+
+  <Target Name="IncludeProjectReferences" DependsOnTargets="FilterProjects">
+    <ItemGroup>
+      <ProjectReference Include="@(Project)" />
+    </ItemGroup>
+  </Target>
+
+  <Import Sdk="Microsoft.NET.Sdk" Project="Sdk.targets" />
+  
+  <Target Name="Build" DependsOnTargets="BuildAllProjects" />
+  <Target Name="BuildAllProjects" DependsOnTargets="FilterProjects">
+    <MSBuild Targets="Build"
+             Projects="@(Project)"
+             Properties="BuildAllProjects=true;BuildConfiguration=$(BuildConfiguration);%(Project.AdditionalProperties)"
+             BuildInParallel="true"
+             ContinueOnError="ErrorAndStop" />
+
+    <!-- Given we ErrorAndContinue we need to propagate the error if the overall task failed -->
+    <Error Condition="'$(MSBuildLastTaskResult)'=='false'" />
+  </Target>
+
+  <Target Name="Test" DependsOnTargets="TestAllProjects" />
+  <Target Name="TestAllProjects" DependsOnTargets="FilterProjects">
+    <!-- To Serialize we use msbuild's batching functionality '%' to force it to batch all similar projects with the same identity
+         however since the project names are unique it will essentially force each to run in its own batch -->
+    <MSBuild Targets="Test"
+             Projects="@(Project)"
+             Condition="'$(SerializeProjects)' == 'true' AND '%(Identity)' != ''"
+             Properties="TestAllProjects=true;BuildConfiguration=$(BuildConfiguration)"
+             ContinueOnError="ErrorAndContinue" />
+
+    <MSBuild Targets="Test"
+             Projects="@(Project)"
+             Condition="'$(SerializeProjects)' != 'true'"
+             Properties="TestAllProjects=true;BuildConfiguration=$(BuildConfiguration)"
+             BuildInParallel="true"
+             ContinueOnError="ErrorAndContinue" />
+
+    <!-- Given we ErrorAndContinue we need to propagate the error if the overall task failed -->
+    <Error Condition="'$(MSBuildLastTaskResult)'=='false'" />
+  </Target>
+
+</Project>