diff --git a/.gitignore b/.gitignore
index 35c03423e7b7f6..a9a3cae8e94553 100644
--- a/.gitignore
+++ b/.gitignore
@@ -27,7 +27,7 @@ bld/
msbuild.log
msbuild.err
msbuild.wrn
-msbuild.binlog
+*.binlog
.deps/
.dirstamp
.libs/
diff --git a/Build.proj b/Build.proj
new file mode 100644
index 00000000000000..0ecff09e8552be
--- /dev/null
+++ b/Build.proj
@@ -0,0 +1,80 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $(RepoTasksDir)
+ $(ArtifactsObjDir)runtime.tasks\Debug\build-semaphore.txt
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Directory.Build.props b/Directory.Build.props
index 66e518803b59c9..06cb0f4cb33a98 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -27,14 +27,7 @@
$([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'obj'))
-
-
- 5.0
- .NETCoreApp,Version=v$(NETCoreAppCurrentVersion)
- netcoreapp$(NETCoreAppCurrentVersion)
- net472
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-```
-`unix/System.IO.FileSystem.pkgproj`
-```
-
-
-
-
- unix
- true
-
-
-
-
- OSGroup=Linux
-
-
-
-
-
-```
-
## Asset selection
The makeup of a package folder is primarily a grouping of project references to the projects that compose that package. Settings within each referenced project determines where that asset will be placed in the package. For example, reference assembly projects will be placed under the `ref/{targetMoniker}` folder in the package and implementations will be under either `lib/{targetMoniker}` or `runtimes/{rid}/lib/{targetMoniker}`. Whenever NuGet evaluates a package in the context of a referencing project it will choose the best compile time asset (preferring `ref`, then falling back to `lib`) and runtime asset (preferring `runtimes/{rid}/lib` and falling back to `lib`) for every package that is referenced. For more information see http://docs.nuget.org/.
@@ -221,8 +63,8 @@ Asset projects (`.csproj`, `.vbproj`, or `.depproj`) can control their `{targetM
The primary thing that the library author needs to do in order to ensure the correct asset selection is:
-1. Configure the correct projects in your library's `.builds` file.
-2. Reference the `.builds` file from the package project.
+1. Configure the correct projects in your library's `.proj` file.
+2. Reference the `.proj` file from the package project.
3. Provide a default PackageTargetFramework for empty-BuildTargetFramework builds in the library's `.csproj` or `.vbproj`.
```
dotnet5.4
diff --git a/docs/coding-guidelines/project-guidelines.md b/docs/coding-guidelines/project-guidelines.md
index d483cebe6cb057..55728730a3c518 100644
--- a/docs/coding-guidelines/project-guidelines.md
+++ b/docs/coding-guidelines/project-guidelines.md
@@ -10,9 +10,9 @@ once before you can iterate and work on a given library project.
- Netstandard Library - Copy to `bin\ref\netstandard2.0`
- NetFx targeting pack - Copy to `bin\ref\net472`
- Build targeting pack
- - Build src\ref.builds which builds all references assembly projects. For reference assembly project information see [ref](#ref)
+ - Build src\libraries\ref.proj which builds all references assembly projects. For reference assembly project information see [ref](#ref)
- Build product
- - Build src\src.builds which builds all the source library projects. For source library project information see [src](#src).
+ - Build src\libraries\src.proj which builds all the source library projects. For source library project information see [src](#src).
- Sign product
- Build src\sign.proj
diff --git a/docs/project/library-servicing.md b/docs/project/library-servicing.md
index 225cbaa8c7ad84..52d7f5ac06775c 100644
--- a/docs/project/library-servicing.md
+++ b/docs/project/library-servicing.md
@@ -33,9 +33,9 @@ Where the `AssemblyVersion` is set to the old version before updating. To determ
If you incremented the `AssemblyVersion` in the last step, you'll also need to add an entry to [packageIndex.json](https://github.com/dotnet/runtime/blob/master/src/libraries/pkg/Microsoft.Private.PackageBaseline/packageIndex.json). Find the entry for your library in that file (again, making sure you're in the correct release branch), then find the subsection labeled `AssemblyVersionInPackageVersion`. There, add an entry that maps your new `AssemblyVersion` to your new `PackageVersion`. For an example, see [this PR](https://github.com/dotnet/runtime/commit/d0e4dcc7ebf008e7b6835cafbd03878c3a0e75f8#diff-ec9fd7a62cb0c494d86029014940382cR107), where we bumped the `PackageVersion` of `Microsoft.Diagnostics.Tracing.EventSource` from `2.0.0` to `2.0.1`, and bumped the `AssemblyVersion` from `2.0.0.0` to `2.0.1.0`. Therefore, we added an entry to `packageIndex.json` of the form `"2.0.1.0": "2.0.1"`.
-## Add your package to packages.builds
+## Add your package to libraries-packages.proj
-In order to ensure that your package gets built, you need to add it to [packages.builds](https://github.com/dotnet/runtime/blob/master/src/libraries/packages.builds). In the linked example, we were building `System.Drawing.Common`. All you have to do is add a `Project` block inside the linked ItemGroup that matches the form of the linked example, but with `System.Drawing.Common` replaced by your library's name. Again, make sure to do this in the right servicing branch.
+In order to ensure that your package gets built, you need to add it to [libraries-packages.proj](https://github.com/dotnet/runtime/blob/master/src/libraries/libraries-packages.proj). In the linked example, we were building `System.Drawing.Common`. All you have to do is add a `Project` block inside the linked ItemGroup that matches the form of the linked example, but with `System.Drawing.Common` replaced by your library's name. Again, make sure to do this in the right servicing branch.
## Test your changes
diff --git a/docs/workflow/building/libraries/README.md b/docs/workflow/building/libraries/README.md
index eaafa3eaa43da5..eecbcfe337c96d 100644
--- a/docs/workflow/building/libraries/README.md
+++ b/docs/workflow/building/libraries/README.md
@@ -81,9 +81,9 @@ The build settings (BuildTargetFramework, TargetOS, Configuration, Architecture)
For more details on the build settings see [project-guidelines](../../../coding-guidelines/project-guidelines.md#build-pivots).
-If you invoke the `build` script without any actions, the default action chain `-restore -build` is executed. You can chain multiple actions together (e.g., `-restore -build -buildtests`) and they will execute in the appropriate order. Note that if you specify actions like `-build` explicitly, you likely need to explicitly add `-restore` as well.
+If you invoke the `build` script without any actions, the default action chain `-restore -build` is executed.
-By default the `build` script only builds the product libraries and none of the tests. If you want to build the tests you can add the flag `-buildtests`. If you want to run the tests you can add the flag `-test`. To build and run the tests combine both arguments: `-buildtests -test`. To specify just the libraries, use `-subcategory libraries`.
+By default the `build` script only builds the product libraries and none of the tests. If you want to include tests, you want to add the subset `-subset libtests`. If you want to run the tests you want to use the `-test` action instead of the `-build`, e.g. `build.cmd/sh -subsetcategory libraries -test`. To specify just the libraries, use `-subcategory libraries`.
**Examples**
- Building in release mode for platform x64 (restore and build are implicit here as no actions are passed in)
@@ -93,7 +93,7 @@ By default the `build` script only builds the product libraries and none of the
- Building the src assemblies and build and run tests (running all tests takes a considerable amount of time!)
```bash
-./build.sh -subsetCategory libraries -restore -build -buildtests -test
+./build.sh -subsetCategory libraries -restore -build -test
```
- Building for different target frameworks (restore and build are implicit again as no action is passed in)
diff --git a/docs/workflow/debugging/libraries/debugging-packages.md b/docs/workflow/debugging/libraries/debugging-packages.md
index be7953be8efb65..5b25a1ffb14fef 100644
--- a/docs/workflow/debugging/libraries/debugging-packages.md
+++ b/docs/workflow/debugging/libraries/debugging-packages.md
@@ -25,7 +25,7 @@ Assuming the current directory is `\src\contractname\`:
Check the logs for output such as:
```
-Project "S:\c1\src\System.Net.ServicePoint\ref\System.Net.ServicePoint.builds" (1) is building "S:\c1\src\System.Net.ServicePoint\ref\System.Net.ServicePoint.csproj" (2:3) on node 1
+Project "S:\c1\src\System.Net.ServicePoint\ref\System.Net.ServicePoint.csproj" (1) is building "S:\c1\src\System.Net.ServicePoint\ref\System.Net.ServicePoint.csproj" (2:3) on node 1
(Build target(s)).
[...]
@@ -37,7 +37,7 @@ CopyFilesToOutputDirectory:
[...]
-Project "S:\c1\src\System.Net.ServicePoint\ref\System.Net.ServicePoint.builds" (1) is building "S:\c1\src\System.Net.ServicePoint\ref\System.Net.ServicePoint.csproj" (2:4) on node 1
+Project "S:\c1\src\System.Net.ServicePoint\ref\System.Net.ServicePoint.csproj" (1) is building "S:\c1\src\System.Net.ServicePoint\ref\System.Net.ServicePoint.csproj" (2:4) on node 1
(Build target(s)).
[...]
@@ -86,7 +86,7 @@ Ensure that the right `BuildTargetFramework` (what we're testing) is set.
To identify which of the combinations failed, search for the following pattern in the output:
```
-Project "S:\c1\src\System.Net.ServicePoint\tests\System.Net.ServicePoint.Tests.builds" (1) is building "S:\c1\src\System.Net.ServicePoint\tests\System.Net.ServicePoint.Tests.csproj"
+Project "S:\c1\src\System.Net.ServicePoint\tests\System.Net.ServicePoint.Tests.csproj" (1) is building "S:\c1\src\System.Net.ServicePoint\tests\System.Net.ServicePoint.Tests.csproj"
(2:5) on node 1 (Build target(s)).
ResolvePkgProjReferences:
Resolved compile assets from .NETStandard,Version=v2.0: S:\c1\bin\ref\System.Net.ServicePoint\4.0.0.0\System.Net.ServicePoint.dll
diff --git a/docs/workflow/testing/libraries/testing.md b/docs/workflow/testing/libraries/testing.md
index 73a0ebced598ba..5a2228f277208c 100644
--- a/docs/workflow/testing/libraries/testing.md
+++ b/docs/workflow/testing/libraries/testing.md
@@ -7,7 +7,7 @@ To build the tests and run them you can call the libraries build script.
**Examples**
- The following shows how to build only the tests but not run them:
```
-libraries -buildtests
+libraries -subset libtests
```
- The following builds and runs all tests in release configuration:
@@ -20,17 +20,15 @@ libraries -test -c Release
libraries -test /p:WithoutCategories=IgnoreForCI
```
-Unless you specifiy `/p:TestNoBuild=true`, test assemblies are implicitly built when invoking the `Test` target.
+Unless you specifiy `-testnobuild`, test assemblies are implicitly built when invoking the `Test` action.
- The following shows how to only test the libraries without building them
```
-libraries -test /p:TestNoBuild=true
+libraries -test -testnobuild
```
## Running tests on the command line
-To build tests you need to pass the `-buildtests` flag to `build.cmd/sh` or run `libraries -restore -build -buildtests` (note that you need to specify `-restore` and `-build` additionally as those are only implicit if no action is passed in).
-
-If you are interested in building and running the tests only for a specific library, then there are two different ways to do it:
+To build tests you need to specify the `test` subset when invoking build.cmd/sh: `libraries -subset libtests`.
The easiest (and recommended) way to build and run the tests for a specific library, is to invoke the `Test` target on that library:
```cmd
diff --git a/eng/Analyzers.props b/eng/Analyzers.props
index 2a24156d56f64f..8d2cb20609f2b8 100644
--- a/eng/Analyzers.props
+++ b/eng/Analyzers.props
@@ -1,6 +1,8 @@
$(MSBuildThisFileDirectory)CodeAnalysis.ruleset
+
+ false
diff --git a/eng/Build.props b/eng/Build.props
index 95f52b37593d49..dd722c64b983e3 100644
--- a/eng/Build.props
+++ b/eng/Build.props
@@ -1,98 +1,8 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- $(RepoTasksDir)
- $(ArtifactsObjDir)runtime.tasks\Debug\build-semaphore.txt
-
-
-
-
-
-
-
+
+ true
+
+
+
+
diff --git a/eng/Configurations.props b/eng/Configurations.props
index eaa276ebdaa3e7..b4417f2205ee70 100644
--- a/eng/Configurations.props
+++ b/eng/Configurations.props
@@ -1,4 +1,29 @@
+
+
+
+ $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'libraries'))
+ $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'coreclr'))
+ $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'mono'))
+ $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'installer'))
+ $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'tools-local'))
+ $([MSBuild]::NormalizeDirectory('$(RepoToolsLocalDir)', 'tasks'))
+ $([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'ibc'))
+ $([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'docs'))
+ $([MSBuild]::NormalizePath('$(ArtifactsDir)', 'tmp', '$(Configuration)', 'RuntimeOS.props'))
+
+
+
+
+ 5.0
+ .NETCoreApp,Version=v$(NETCoreAppCurrentVersion)
+ netcoreapp$(NETCoreAppCurrentVersion)
+ net472
+
+
$(Configuration)
@@ -21,4 +46,11 @@
$(TargetOS)
$(TargetOS)
-
+
+
+
+ true
+
+ true
+
+
\ No newline at end of file
diff --git a/eng/SubsetValidation.targets b/eng/SubsetValidation.targets
new file mode 100644
index 00000000000000..deca513d3f4cc4
--- /dev/null
+++ b/eng/SubsetValidation.targets
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/eng/Subsets.props b/eng/Subsets.props
index 386bed45f449cb..55b261cfb61f20 100644
--- a/eng/Subsets.props
+++ b/eng/Subsets.props
@@ -47,31 +47,31 @@
artifacts to the test layout, then running the test subset.
-->
-
- $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'libraries'))
- $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'coreclr'))
- $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'mono'))
- $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'installer'))
- $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'tools-local'))
- $([MSBuild]::NormalizeDirectory('$(RepoToolsLocalDir)', 'tasks'))
-
-
libraries-installer-coreclr-mono
libraries-installer-mono
libraries-mono
+
+
+
+ runtime-linuxdac-corelib-nativecorelib-tools-packages
+
+ llvm-
+ $(DefaultMonoSubsets)runtime-corelib-packages
+
+ depprojs-native-ref-src-pretest-packages
+ $(DefaultLibrariesSubsets)-libtests
+
corehost-managed-depproj-pkgproj-bundle-installers-test
depproj-pkgproj
-
- all
- runtime-linuxdac-corelib-nativecorelib-tools-packages
- all
+
+
<_subsetCategory Condition="'$(SubsetCategory)' != ''">$(SubsetCategory.ToLowerInvariant())
<_subsetCategory Condition="'$(SubsetCategory)' == ''">$(DefaultSubsetCategories)
<_subset Condition="'$(Subset)' != ''">$(Subset.ToLowerInvariant())
- <_subset Condition="'$(Subset)' == '' and $(_subsetCategory.Contains('installer'))">$(DefaultInstallerSubsets)
- <_subset Condition="'$(Subset)' == '' and $(_subsetCategory.Contains('libraries'))">$(_subset)-$(DefaultLibrariesSubsets)
+ <_subset Condition="'$(Subset)' == '' and $(_subsetCategory.Contains('libraries'))">$(DefaultLibrariesSubsets)
+ <_subset Condition="'$(Subset)' == '' and $(_subsetCategory.Contains('installer'))">$(_subset)-$(DefaultInstallerSubsets)
<_subset Condition="'$(Subset)' == '' and $(_subsetCategory.Contains('coreclr'))">$(_subset)-$(DefaultCoreClrSubsets)
<_subset Condition="'$(Subset)' == '' and $(_subsetCategory.Contains('mono'))">$(_subset)-$(DefaultMonoSubsets)
@@ -86,11 +86,13 @@
-
-
-
-
+
+
+
+
+
+
@@ -102,7 +104,9 @@
-
+
+
+
@@ -115,131 +119,153 @@
-
-
-
-
-
-
-
- Configuration=$(CoreCLRConfiguration)
-
-
- Configuration=$(CoreCLRConfiguration)
-
-
- Configuration=$(CoreCLRConfiguration)
-
-
- Configuration=$(CoreCLRConfiguration)
-
-
- Configuration=$(CoreCLRConfiguration)
-
-
- Configuration=$(CoreCLRConfiguration)
-
-
- Configuration=$(CoreCLRConfiguration)
-
-
-
-
-
- Configuration=$(MonoConfiguration)
-
-
-
-
-
- Configuration=$(LibrariesConfiguration)
-
+
+
+
+ false
+ false
+ false
+ false
+ Configuration=$(CoreCLRConfiguration)
+
+
+ false
+ false
+ false
+ false
+ Configuration=$(MonoConfiguration)
+
+
+ false
+ false
+ false
+ false
+ Configuration=$(LibrariesConfiguration)
+
+
+ false
+ true
+ false
+
-
-
+
-
-
+
-
-
+
-
-
+
-
-
+
-
-
-
-
-
-
+
+
+
+
+
-
-
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+ Configuration=$(LibrariesConfiguration)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
+
+
-
+
+
+
-
+
-
+
@@ -249,7 +275,7 @@
-
+
diff --git a/eng/Tools.props b/eng/Tools.props
index 32fc0f6f6d4fcf..f7746f80c9c343 100644
--- a/eng/Tools.props
+++ b/eng/Tools.props
@@ -1,50 +1,18 @@
- false
- true
<_RepoToolManifest Condition="'$(ContinuousIntegrationBuild)' == 'true'" />
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index 6095aa5637cf28..72011a01e864f5 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -155,7 +155,7 @@
0375524a91a47ca4db3ee1be548f74bab7e26e76
- https://github.com/dotnet/corefx
+ https://github.com/dotnet/runtime
cf64918877d98577363bb40d5eafac52beb80a79
diff --git a/eng/Versions.props b/eng/Versions.props
index 2d0c300bee4f3e..6e1cc41acb0731 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -18,10 +18,8 @@
true
true
false
-
- true
- $([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'ibc'))
- $([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'docs'))
+
+ 3.6.0-2.20166.2
dotnet
$(ContainerName)
@@ -61,6 +59,7 @@
5.0.0-beta.20171.1
5.0.0-beta.20171.1
+ 5.0.0-beta.20175.1
5.0.0-beta.20171.1
5.0.0-beta.20171.1
5.0.0-beta.20171.1
@@ -77,7 +76,7 @@
3.0.0
5.0.0-preview.4.20202.18
- 5.0.0-alpha.1.20076.2
+ 5.0.0-preview.4.20202.18
5.0.0-alpha.1.19563.3
diff --git a/eng/build.ps1 b/eng/build.ps1
index 3e2f07a8d19fd1..17c61ae492d9ec 100644
--- a/eng/build.ps1
+++ b/eng/build.ps1
@@ -1,9 +1,7 @@
[CmdletBinding(PositionalBinding=$false)]
Param(
[switch][Alias('h')]$help,
- [switch][Alias('b')]$build,
[switch][Alias('t')]$test,
- [switch]$buildtests,
[string[]][Alias('c')]$configuration = @("Debug"),
[string][Alias('f')]$framework,
[string]$vs,
@@ -11,10 +9,11 @@ Param(
[switch]$allconfigurations,
[switch]$coverage,
[string]$testscope,
+ [switch]$testnobuild,
[string[]][Alias('a')]$arch = @([System.Runtime.InteropServices.RuntimeInformation]::ProcessArchitecture.ToString().ToLowerInvariant()),
[string]$subsetCategory,
[string]$subset,
- [ValidateSet("Debug","Release","Checked")][string]$runtimeConfiguration = "Debug",
+ [ValidateSet("Debug","Release","Checked")][string]$runtimeConfiguration,
[ValidateSet("Debug","Release")][string]$librariesConfiguration,
[Parameter(ValueFromRemainingArguments=$true)][String[]]$properties
)
@@ -37,7 +36,6 @@ function Get-Help() {
Write-Host "Actions (defaults to -restore -build):"
Write-Host " -restore Restore dependencies (short: -r)"
Write-Host " -build Build all source projects (short: -b)"
- Write-Host " -buildtests Build all test projects"
Write-Host " -rebuild Rebuild all source projects"
Write-Host " -test Build and run tests (short: -t)"
Write-Host " -pack Package build outputs into NuGet packages"
@@ -50,6 +48,7 @@ function Get-Help() {
Write-Host " -framework Build framework: netcoreapp5.0 or net472 (short: -f)"
Write-Host " -coverage Collect code coverage when testing"
Write-Host " -testscope Scope tests, allowed values: innerloop, outerloop, all"
+ Write-Host " -testnobuild Skip building tests when invoking -test"
Write-Host " -allconfigurations Build packages for all build configurations"
Write-Host ""
@@ -102,8 +101,11 @@ if ($vs) {
# Put our local dotnet.exe on PATH first so Visual Studio knows which one to use
$env:PATH=($env:DOTNET_ROOT + ";" + $env:PATH);
- # Respect the RuntimeConfiguration variable for building inside VS with different runtime configurations
- $env:RUNTIMECONFIGURATION=$runtimeConfiguration
+ if ($runtimeConfiguration)
+ {
+ # Respect the RuntimeConfiguration variable for building inside VS with different runtime configurations
+ $env:RUNTIMECONFIGURATION=$runtimeConfiguration
+ }
# Launch Visual Studio with the locally defined environment variables
."$vs"
@@ -112,7 +114,7 @@ if ($vs) {
}
# Check if an action is passed in
-$actions = "r","restore","b","build","buildtests","rebuild","t","test","pack","sign","publish","clean"
+$actions = "b","build","r","restore","rebuild","sign","testnobuild","publish","clean"
$actionPassedIn = @(Compare-Object -ReferenceObject @($PSBoundParameters.Keys) -DifferenceObject $actions -ExcludeDifferent -IncludeEqual).Length -ne 0
if ($null -ne $properties -and $actionPassedIn -ne $true) {
$actionPassedIn = @(Compare-Object -ReferenceObject $properties -DifferenceObject $actions.ForEach({ "-" + $_ }) -ExcludeDifferent -IncludeEqual).Length -ne 0
@@ -122,17 +124,16 @@ if (!$actionPassedIn) {
$arguments = "-restore -build"
}
-$possibleDirToBuild = if($properties.Length -gt 0) { $properties[0]; } else { $null }
+$solutionLeaf = if($properties.Length -gt 0) { $properties[0]; } else { $null }
-if ($null -ne $possibleDirToBuild -and $subsetCategory -eq "libraries") {
- $dtb = $possibleDirToBuild.TrimEnd('\')
- if (Test-Path $dtb) {
- $properties[0] = "/p:DirectoryToBuild=$(Resolve-Path $dtb)"
+if ($null -ne $solutionLeaf) {
+ if (Test-Path $solutionLeaf) {
+ $properties[0] = "-projects $(Resolve-Path $solutionLeaf)"
}
else {
- $dtb = Join-Path "$PSSCriptRoot\..\src\libraries" $dtb
- if (Test-Path $dtb) {
- $properties[0] = "/p:DirectoryToBuild=$(Resolve-Path $dtb)"
+ $dtb = Join-Path "$PSSCriptRoot\..\src\libraries" $solutionLeaf | Join-Path -ChildPath "$solutionLeaf.sln"
+ if (Test-Path $dtb) {
+ $properties[0] = "-projects $(Resolve-Path $dtb)"
}
}
}
@@ -141,18 +142,16 @@ foreach ($argument in $PSBoundParameters.Keys)
{
switch($argument)
{
- "build" { $arguments += " -build" }
- "buildtests" { if ($build -eq $true) { $arguments += " /p:BuildTests=true" } else { $arguments += " -build /p:BuildTests=only" } }
- "test" { $arguments += " -test" }
- "runtimeConfiguration" { $arguments += " /p:RuntimeConfiguration=$((Get-Culture).TextInfo.ToTitleCase($($PSBoundParameters[$argument])))" }
- "framework" { $arguments += " /p:BuildTargetFramework=$($PSBoundParameters[$argument].ToLowerInvariant())" }
- "os" { $arguments += " /p:TargetOS=$($PSBoundParameters[$argument])" }
- "allconfigurations" { $arguments += " /p:BuildAllConfigurations=true" }
- "properties" { $arguments += " " + $properties }
+ "runtimeConfiguration" { $arguments += " /p:RuntimeConfiguration=$((Get-Culture).TextInfo.ToTitleCase($($PSBoundParameters[$argument])))" }
+ "librariesConfiguration" { $arguments += " /p:LibrariesConfiguration=$((Get-Culture).TextInfo.ToTitleCase($($PSBoundParameters[$argument])))" }
+ "framework" { $arguments += " /p:BuildTargetFramework=$($PSBoundParameters[$argument].ToLowerInvariant())" }
+ "os" { $arguments += " /p:TargetOS=$($PSBoundParameters[$argument])" }
+ "allconfigurations" { $arguments += " /p:BuildAllConfigurations=true" }
+ "properties" { $arguments += " " + $properties }
# configuration and arch can be specified multiple times, so they should be no-ops here
- "configuration" {}
- "arch" {}
- default { $arguments += " /p:$argument=$($PSBoundParameters[$argument])" }
+ "configuration" {}
+ "arch" {}
+ default { $arguments += " /p:$argument=$($PSBoundParameters[$argument])" }
}
}
diff --git a/eng/build.sh b/eng/build.sh
index 812b820a17b35f..36970ae5e45e87 100755
--- a/eng/build.sh
+++ b/eng/build.sh
@@ -33,7 +33,6 @@ usage()
echo "Actions (defaults to --restore --build):"
echo " --restore Restore dependencies (short: -r)"
echo " --build Build all source projects (short: -b)"
- echo " --buildtests Build all test projects"
echo " --rebuild Rebuild all source projects"
echo " --test Build and run tests (short: -t)"
echo " --pack Package build outputs into NuGet packages"
@@ -46,6 +45,7 @@ usage()
echo " --framework Build framework: netcoreapp5.0 or net472 (short: -f)"
echo " --coverage Collect code coverage when testing"
echo " --testscope Test scope, allowed values: innerloop, outerloop, all"
+ echo " --testnobuild Skip building tests when invoking -test"
echo " --allconfigurations Build packages for all build configurations"
echo ""
@@ -83,15 +83,14 @@ arguments=''
cmakeargs=''
extraargs=''
build=false
-buildtests=false
subsetCategory=''
-checkedPossibleDirectoryToBuild=false
+checkedSolutionBuild=false
crossBuild=0
source $scriptroot/native/init-os-and-arch.sh
# Check if an action is passed in
-declare -a actions=("r" "restore" "b" "build" "buildtests" "rebuild" "t" "test" "pack" "sign" "publish" "clean")
+declare -a actions=("b" "build" "r" "restore" "rebuild" "testnobuild" "sign" "publish" "clean")
actInt=($(comm -12 <(printf '%s\n' "${actions[@]/#/-}" | sort) <(printf '%s\n' "${@/#--/-}" | sort)))
while [[ $# > 0 ]]; do
@@ -138,14 +137,14 @@ while [[ $# > 0 ]]; do
arguments="$arguments -build"
shift 1
;;
- -buildtests)
- buildtests=true
- shift 1
- ;;
-testscope)
arguments="$arguments /p:TestScope=$2"
shift 2
;;
+ -testnobuild)
+ arguments="$arguments /p:TestNoBuild=$2"
+ shift 2
+ ;;
-coverage)
arguments="$arguments /p:Coverage=true"
shift 1
@@ -179,13 +178,13 @@ while [[ $# > 0 ]]; do
*)
ea=$1
- if [[ $checkedPossibleDirectoryToBuild == false ]] && [[ $subsetCategory == "libraries" ]]; then
- checkedPossibleDirectoryToBuild=true
+ if [[ $checkedSolutionBuild == false ]]; then
+ checkedSolutionBuild=true
if [[ -d "$1" ]]; then
- ea="/p:DirectoryToBuild=$1"
- elif [[ -d "$scriptroot/../src/libraries/$1" ]]; then
- ea="/p:DirectoryToBuild=$scriptroot/../src/libraries/$1"
+ ea="-projects $1"
+ elif [[ -d "$scriptroot/../src/libraries/$1/$1.sln" ]]; then
+ ea="-projects $scriptroot/../src/libraries/$1/$1.sln"
fi
fi
@@ -195,14 +194,6 @@ while [[ $# > 0 ]]; do
esac
done
-if [[ "$buildtests" == true ]]; then
- if [[ "$build" == true ]]; then
- arguments="$arguments /p:BuildTests=true"
- else
- arguments="$arguments -build /p:BuildTests=only"
- fi
-fi
-
if [ ${#actInt[@]} -eq 0 ]; then
arguments="-restore -build $arguments"
fi
diff --git a/eng/codeAnalysis.targets b/eng/codeAnalysis.targets
deleted file mode 100644
index de4eb79cd35db1..00000000000000
--- a/eng/codeAnalysis.targets
+++ /dev/null
@@ -1,51 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
- <_AnalyzersToFileName Include="@(Analyzer -> '%(FileName)')">
- %(Identity)
-
-
-
-
- <_AnalyzersToRemove Include="@(_AnalyzersToFileName)" Condition="'@(AnalyzersToExclude)' == '@(_AnalyzersToFileName)' and '%(Identity)' != ''" />
-
-
-
-
- <_AnalyzersToRemove Include="@(_AnalyzersToFileName)" Exclude="@(AnalyzersToInclude)" />
- <_missingAnalyzersToInclude Include="@(AnalyzersToInclude)" Exclude="@(_AnalyzersToFileName)" />
-
-
-
-
-
-
-
-
- $(ResolveReferencesDependsOn);
- CalculateAnalyzersForBuildTime;
-
-
-
\ No newline at end of file
diff --git a/eng/docker/build-docker-sdk.ps1 b/eng/docker/build-docker-sdk.ps1
index a7c3094077dda0..c1669d6ef11216 100755
--- a/eng/docker/build-docker-sdk.ps1
+++ b/eng/docker/build-docker-sdk.ps1
@@ -19,8 +19,7 @@ if ($buildWindowsContainers)
# Due to size concerns, we don't currently do docker builds on windows.
# Build on the host machine, then simply copy artifacts to the target docker image.
# This should result in significantly lower build times, for now.
- & "$REPO_ROOT_DIR/coreclr.cmd" -c Release
- & "$REPO_ROOT_DIR/libraries.cmd" -ci -c $configuration -runtimeConfiguration release
+ & "$REPO_ROOT_DIR/build.cmd" -ci -subsetcategory coreclr-libraries -runtimeconfiguration release -c $configuration
# Dockerize the build artifacts
if($privateAspNetCore)
diff --git a/eng/docker/libraries-sdk.linux.Dockerfile b/eng/docker/libraries-sdk.linux.Dockerfile
index efba4fb7c309d4..fce6381e71028a 100644
--- a/eng/docker/libraries-sdk.linux.Dockerfile
+++ b/eng/docker/libraries-sdk.linux.Dockerfile
@@ -8,8 +8,7 @@ WORKDIR /repo
COPY . .
ARG CONFIGURATION=Release
-RUN ./src/coreclr/build.sh -release -skiptests -clang9 && \
- ./libraries.sh -c $CONFIGURATION -runtimeconfiguration release
+RUN ./build.sh -ci -subsetcategory coreclr-libraries -runtimeconfiguration release -c $CONFIGURATION
FROM $SDK_BASE_IMAGE as target
diff --git a/eng/illink.targets b/eng/illink.targets
index d3525a15403019..cecc5c2a5a3699 100644
--- a/eng/illink.targets
+++ b/eng/illink.targets
@@ -7,6 +7,15 @@
+
+
+
+
$([MSBuild]::NormalizeDirectory('$(PkgILLink_Tasks)', 'tools'))
diff --git a/eng/packaging.props b/eng/packaging.props
index 1e7d8bd813b8a3..eea246c0980803 100644
--- a/eng/packaging.props
+++ b/eng/packaging.props
@@ -1,5 +1,6 @@
+ $([MSBuild]::NormalizeDirectory('$(ArtifactsPackagesDir)', 'reports'))
$(PkgDir)descriptions.json
$(RepoRoot)LICENSE.TXT
$(RepoRoot)THIRD-PARTY-NOTICES.TXT
diff --git a/eng/pipelines/libraries/build-job.yml b/eng/pipelines/libraries/build-job.yml
index a1c9914193d543..402b2aefadf0d2 100644
--- a/eng/pipelines/libraries/build-job.yml
+++ b/eng/pipelines/libraries/build-job.yml
@@ -59,15 +59,12 @@ jobs:
- ${{ format('coreclr_corelib_build_{1}{2}_{3}_{4}', parameters.runtimeFlavor, 'linux', parameters.osSubgroup, 'x64', parameters.liveRuntimeBuildConfig) }}
variables:
- - _skipTestRestoreArg: /p:SkipTestRestore=true
- - _buildAction: -build
+ - _addtionalBuildArguments: ''
- ${{ parameters.variables }}
- ${{ if eq(parameters.osGroup, 'WebAssembly') }}:
- EMSDK_PATH: $(Build.BinariesDirectory)/emsdk
- ${{ if eq(parameters.runTests, true) }}:
- - _buildAction: -build -buildtests /p:ArchiveTests=true
- - ${{ if ne(parameters.framework, 'allConfigurations') }}:
- - _skipTestRestoreArg: /p:SkipTestRestore=false
+ - _addtionalBuildArguments: /p:IncludeLibrariesTestSubset=true /p:ArchiveTests=true
- ${{ parameters.variables }}
@@ -95,13 +92,10 @@ jobs:
parameters:
installDotnet: true
- - script: $(_buildScript) -restore $(_buildArguments) $(_skipTestRestoreArg) /bl:$(Build.SourcesDirectory)/artifacts/log/$(_BuildConfig)/Restore.binlog
- displayName: Restore
-
- script: $(_buildScript)
- $(_buildAction)
$(_buildArguments)
- displayName: Build
+ $(_addtionalBuildArguments)
+ displayName: Restore and Build Product
- ${{ if eq(parameters.runTests, false) }}:
- ${{ if ne(parameters.isOfficialBuild, true) }}:
diff --git a/eng/pipelines/libraries/build-test-job.yml b/eng/pipelines/libraries/build-test-job.yml
index 0a44ef8f52d824..b75fd1de036928 100644
--- a/eng/pipelines/libraries/build-test-job.yml
+++ b/eng/pipelines/libraries/build-test-job.yml
@@ -43,7 +43,6 @@ jobs:
variables:
- librariesTestsArtifactName: ${{ format('libraries_test_assets_{0}_{1}_{2}', parameters.osGroup, parameters.archType, parameters.buildConfig) }}
- _archiveTestsParameter: /p:ArchiveTests=true
- - _skipTestRestoreArg: /p:SkipTestRestore=false
- ${{ parameters.variables }}
@@ -55,15 +54,12 @@ jobs:
artifactFileName: $(librariesBuildArtifactName)$(archiveExtension)
unpackFolder: $(Build.SourcesDirectory)/artifacts
cleanUnpackFolder: false
-
- - script: $(_buildScript) -restore $(_buildArguments) $(_skipTestRestoreArg)
- displayName: Restore
- script: $(_buildScript)
- -buildtests
+ -subset pretest-libtests
$(_buildArguments)
$(_archiveTestsParameter)
- displayName: Build
+ displayName: Restore and Build
- template: /eng/pipelines/common/upload-artifact-step.yml
parameters:
diff --git a/eng/pipelines/libraries/enterprise/linux.yml b/eng/pipelines/libraries/enterprise/linux.yml
index 4cf1c7ded3827c..017ca39dbb0cce 100644
--- a/eng/pipelines/libraries/enterprise/linux.yml
+++ b/eng/pipelines/libraries/enterprise/linux.yml
@@ -26,7 +26,7 @@ variables:
- name: enterpriseTestsSetup
value: $(sourcesRoot)/Common/tests/System/Net/EnterpriseTests/setup
- name: containerRunTestsCommand
- value: /repo/.dotnet/dotnet build /t:test --no-restore
+ value: /repo/.dotnet/dotnet build /t:test
- name: containerLibrariesRoot
value: /repo/src/libraries
@@ -50,7 +50,7 @@ steps:
displayName: Test linuxclient connection to web server
- bash: |
- docker exec linuxclient bash -c '/repo/src/coreclr/build.sh -release -skipnuget -clang9 && /repo/libraries.sh /p:CoreCLRConfiguration=Release'
+ docker exec linuxclient bash -c '/repo/build.sh -subsetcategory coreclr-libraries -runtimeconfiguration release -ci'
displayName: Build product sources
- bash: |
diff --git a/eng/pipelines/libraries/run-test-job.yml b/eng/pipelines/libraries/run-test-job.yml
index 6035ec9730c7bf..951164f8cc21c5 100644
--- a/eng/pipelines/libraries/run-test-job.yml
+++ b/eng/pipelines/libraries/run-test-job.yml
@@ -52,7 +52,6 @@ jobs:
variables:
- librariesTestsArtifactName: ${{ format('libraries_test_assets_{0}_{1}_{2}', parameters.osGroup, parameters.dependsOnTestArchitecture, parameters.dependsOnTestBuildConfiguration) }}
- _archiveTestsParameter: /p:ArchiveTests=true
- - _skipTestRestoreArg: /p:SkipTestRestore=false
- ${{ parameters.variables }}
steps:
@@ -73,24 +72,12 @@ jobs:
artifactFileName: $(librariesTestsArtifactName)$(archiveExtension)
- ${{ if ne(parameters.liveRuntimeBuildConfig, '') }}:
- - script: $(_msbuildCommand) src/libraries/restore/runtime/runtime.depproj
- $(_runtimeArtifactsPathArg)
- $(_runtimeOSArg)
+ - script: $(_buildScript)
+ -subset pretest
+ $(_buildArguments)
/p:RuntimeFlavor=${{ parameters.runtimeFlavor }}
- /p:TargetArchitecture=${{ parameters.archType }}
- /p:Configuration=${{ parameters.buildConfig }}
/bl:$(Build.SourcesDirectory)/artifacts/log/$(_BuildConfig)/overrideRuntimeFromLiveDrop.binlog
- displayName: Override $(runtimeFlavorName) from live drop
-
- - script: $(_buildScript) -projects $(Build.SourcesDirectory)/src/libraries/pretest.proj
- $(_runtimeArtifactsPathArg)
- $(_runtimeOSArg)
- /p:RuntimeFlavor=${{ parameters.runtimeFlavor }}
- /p:TargetArchitecture=${{ parameters.archType }}
- /p:Configuration=${{ parameters.buildConfig }}
- /p:SkipBuildProjects=true
- /bl:$(Build.SourcesDirectory)/artifacts/log/$(_BuildConfig)/pretest.binlog
- displayName: Build PreTest to Generate Deps Json File
+ displayName: Prepare TestHost with runtime $(runtimeFlavorName)
- template: /eng/pipelines/libraries/helix.yml
parameters:
diff --git a/eng/restore/docs.targets b/eng/restore/docs.targets
index b5d9ce90bb55f1..2437815a0f3309 100644
--- a/eng/restore/docs.targets
+++ b/eng/restore/docs.targets
@@ -1,7 +1,7 @@
-
+
diff --git a/src/libraries/restore/harvestPackages/harvestPackages.depproj b/eng/restore/harvestPackages.targets
similarity index 56%
rename from src/libraries/restore/harvestPackages/harvestPackages.depproj
rename to eng/restore/harvestPackages.targets
index 2ae20ecda6e67c..152888c95975f9 100644
--- a/src/libraries/restore/harvestPackages/harvestPackages.depproj
+++ b/eng/restore/harvestPackages.targets
@@ -1,15 +1,12 @@
-
+
- netstandard2.0
+ $(NuGetPackageRoot)microsoft.dotnet.build.tasks.packaging\$(MicrosoftDotNetBuildTasksPackagingVersion)\tools\
+ $(PackagingTaskAssembly)netcoreapp2.1\
+ $(PackagingTaskAssembly)net472\
+ $(PackagingTaskAssembly)Microsoft.DotNet.Build.Tasks.Packaging.dll
-
-
-
-
-
+
<_AllPkgProjs Include="$(LibrariesProjectRoot)*\pkg\**\*.pkgproj" />
@@ -20,10 +17,10 @@
-
+ LatestPackages="@(_AllPkgProjsToPackageIdentity)"
+ PackageIndexes="$(PackageIndexFile)"
+ DoNotAllowVersionsFromSameRelease="true">
+
@@ -40,5 +37,4 @@
-
\ No newline at end of file
diff --git a/eng/restore/optimizationData.targets b/eng/restore/optimizationData.targets
index 47c81d6d7c3a8c..a4bbe9645b6686 100644
--- a/eng/restore/optimizationData.targets
+++ b/eng/restore/optimizationData.targets
@@ -1,11 +1,11 @@
-
-
-
-
-
+
+
+
+
+
@@ -24,6 +24,7 @@
<_optimizationDataSourceFile Include="%(IBCPackage.PackagePath)\**\*.dll;%(IBCPackage.PackagePath)\**\*.ibc" SubdirectoryName="%(IBCPackage.SubdirectoryName)" />
+
-
+ false
unused
-
- $(ToolSetCommonDirectory)Tools.Analyzers.props
- true
-
@@ -28,4 +22,4 @@
false
false
-
\ No newline at end of file
+
diff --git a/eng/restore/repoRestore.targets b/eng/restore/repoRestore.targets
index d99f198e1a5fbd..a430b67fee1fff 100644
--- a/eng/restore/repoRestore.targets
+++ b/eng/restore/repoRestore.targets
@@ -4,8 +4,6 @@
Unknown
-
-
-
+
diff --git a/eng/testing/tests.props b/eng/testing/tests.props
index eaca9c667f09fb..dfaabfa18db038 100644
--- a/eng/testing/tests.props
+++ b/eng/testing/tests.props
@@ -2,8 +2,8 @@
$(MSBuildProjectName)
xunit
-
- Build
+
+ Build
$(TestDependsOn);GenerateRunScript;RunTests
diff --git a/global.json b/global.json
index a17cc45a868b6d..76b4cde1330850 100644
--- a/global.json
+++ b/global.json
@@ -1,24 +1,24 @@
{
"sdk": {
- "version": "3.1.101",
+ "version": "5.0.100-preview.2.20176.6",
"allowPrerelease": true,
"rollForward": "major"
},
"tools": {
- "dotnet": "5.0.100-preview.3.20170.6"
+ "dotnet": "5.0.100-preview.4.20202.8"
},
"native-tools": {
"cmake": "3.14.2",
"python3": "3.7.1"
},
"msbuild-sdks": {
- "Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk": "5.0.0-beta.20171.1",
- "Microsoft.DotNet.Arcade.Sdk": "5.0.0-beta.20171.1",
+ "Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk": "5.0.0-beta.20175.1",
+ "Microsoft.DotNet.Arcade.Sdk": "5.0.0-beta.20175.1",
"Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk": "5.0.0-beta.20171.1",
"Microsoft.DotNet.Helix.Sdk": "5.0.0-beta.20171.1",
"FIX-85B6-MERGE-9C38-CONFLICT": "1.0.0",
"Microsoft.NET.Sdk.IL": "5.0.0-preview.4.20202.18",
"Microsoft.Build.NoTargets": "1.0.53",
- "Microsoft.Build.Traversal": "2.0.2"
+ "Microsoft.Build.Traversal": "2.0.34"
}
}
diff --git a/src/coreclr/build.cmd b/src/coreclr/build.cmd
index 19757613a653cc..a4955fb4c52a35 100644
--- a/src/coreclr/build.cmd
+++ b/src/coreclr/build.cmd
@@ -779,7 +779,7 @@ if %__BuildPackages% EQU 1 (
REM The conditions as to what to build are captured in the builds file.
REM Package build uses the Arcade system and scripts, relying on it to restore required toolsets as part of build
powershell -NoProfile -ExecutionPolicy ByPass -NoLogo -File "%__RepoRootDir%\eng\common\build.ps1"^
- -r -b -projects %__SourceDir%\.nuget\packages.builds^
+ -r -b -projects %__SourceDir%\.nuget\coreclr-packages.proj^
-verbosity minimal /clp:nosummary /nodeReuse:false /bl:!__BuildLog!^
/p:PortableBuild=true^
/p:Platform=%__BuildArch% %__CommonMSBuildArgs% %__UnprocessedBuildArgs%
diff --git a/src/coreclr/build.sh b/src/coreclr/build.sh
index edfe44ae7985ea..634bcb7af3106e 100755
--- a/src/coreclr/build.sh
+++ b/src/coreclr/build.sh
@@ -299,7 +299,7 @@ generate_NugetPackages()
echo "ROOTFS_DIR is $ROOTFS_DIR"
# Build the packages
# Package build uses the Arcade system and scripts, relying on it to restore required toolsets as part of build
- "$__RepoRootDir"/eng/common/build.sh -r -b -projects "$__SourceDir"/.nuget/packages.builds \
+ "$__RepoRootDir"/eng/common/build.sh -r -b -projects "$__SourceDir"/.nuget/coreclr-packages.proj \
-verbosity minimal -bl:"$__LogsDir/Nuget_$__TargetOS__$__BuildArch__$__BuildType.binlog" \
/p:PortableBuild=true \
/p:"__IntermediatesDir=$__IntermediatesDir" /p:"__RootBinDir=$__RootBinDir" /p:"__DoCrossArchBuild=$__CrossBuild" \
diff --git a/src/coreclr/src/.nuget/Microsoft.NETCore.ILAsm/Microsoft.NETCore.ILAsm.builds b/src/coreclr/src/.nuget/Microsoft.NETCore.ILAsm/Microsoft.NETCore.ILAsm.proj
similarity index 100%
rename from src/coreclr/src/.nuget/Microsoft.NETCore.ILAsm/Microsoft.NETCore.ILAsm.builds
rename to src/coreclr/src/.nuget/Microsoft.NETCore.ILAsm/Microsoft.NETCore.ILAsm.proj
diff --git a/src/coreclr/src/.nuget/Microsoft.NETCore.ILDAsm/Microsoft.NETCore.ILDAsm.builds b/src/coreclr/src/.nuget/Microsoft.NETCore.ILDAsm/Microsoft.NETCore.ILDAsm.proj
similarity index 100%
rename from src/coreclr/src/.nuget/Microsoft.NETCore.ILDAsm/Microsoft.NETCore.ILDAsm.builds
rename to src/coreclr/src/.nuget/Microsoft.NETCore.ILDAsm/Microsoft.NETCore.ILDAsm.proj
diff --git a/src/coreclr/src/.nuget/Microsoft.NETCore.TestHost/Microsoft.NETCore.TestHost.builds b/src/coreclr/src/.nuget/Microsoft.NETCore.TestHost/Microsoft.NETCore.TestHost.proj
similarity index 100%
rename from src/coreclr/src/.nuget/Microsoft.NETCore.TestHost/Microsoft.NETCore.TestHost.builds
rename to src/coreclr/src/.nuget/Microsoft.NETCore.TestHost/Microsoft.NETCore.TestHost.proj
diff --git a/src/coreclr/src/.nuget/packages.builds b/src/coreclr/src/.nuget/coreclr-packages.proj
similarity index 80%
rename from src/coreclr/src/.nuget/packages.builds
rename to src/coreclr/src/.nuget/coreclr-packages.proj
index 7fcc996c04156c..ad5700b52b8c84 100644
--- a/src/coreclr/src/.nuget/packages.builds
+++ b/src/coreclr/src/.nuget/coreclr-packages.proj
@@ -1,12 +1,14 @@
-
+
+
+
-
-
-
+
+
+
+ AdditionalProperties="%(ProjectReference.AdditionalProperties);FileVersion=$(FileVersion)" />
+
+
+
+
+
diff --git a/src/coreclr/src/System.Private.CoreLib/System.Private.CoreLib.csproj b/src/coreclr/src/System.Private.CoreLib/System.Private.CoreLib.csproj
index c8a6bff4505e6a..e1d9a09182ef60 100644
--- a/src/coreclr/src/System.Private.CoreLib/System.Private.CoreLib.csproj
+++ b/src/coreclr/src/System.Private.CoreLib/System.Private.CoreLib.csproj
@@ -397,11 +397,6 @@
-
-
-
-
-
diff --git a/src/installer/pkg/Directory.Build.props b/src/installer/pkg/Directory.Build.props
index 6e77e958d73db7..9f4442493b6774 100644
--- a/src/installer/pkg/Directory.Build.props
+++ b/src/installer/pkg/Directory.Build.props
@@ -6,6 +6,11 @@
$(BaseOutputRootPath)corehost
+
+
+ false
+
+
$(RepoRoot)LICENSE.TXT
$(RepoRoot)THIRD-PARTY-NOTICES.TXT
diff --git a/src/installer/pkg/packaging/installers.proj b/src/installer/pkg/packaging/installers.proj
index ed3d50f9cb50f0..29abbe02d6559d 100644
--- a/src/installer/pkg/packaging/installers.proj
+++ b/src/installer/pkg/packaging/installers.proj
@@ -68,11 +68,11 @@
-
-
+ <_InstallerProject Include="$(InstallerProjectRoot)pkg\projects\**\*.pkgproj" />
+ <_InstallerProject Include="$(InstallerProjectRoot)pkg\projects\**\*.sfxproj" />
-
+
diff --git a/src/installer/pkg/projects/Directory.Build.props b/src/installer/pkg/projects/Directory.Build.props
index d62f9f540dd57d..40403c6fcd07f4 100644
--- a/src/installer/pkg/projects/Directory.Build.props
+++ b/src/installer/pkg/projects/Directory.Build.props
@@ -64,7 +64,7 @@
Include="$(SigningToolsDir)\SignR2RBinaries.proj" />
-
+
$(MSBuildProjectName)
diff --git a/src/libraries/Directory.Build.props b/src/libraries/Directory.Build.props
index e808f9101d0f2a..c1902174704b52 100644
--- a/src/libraries/Directory.Build.props
+++ b/src/libraries/Directory.Build.props
@@ -16,8 +16,7 @@
$([System.Text.RegularExpressions.Regex]::IsMatch($(MSBuildProjectDirectory), 'src%24'))
true
$(RepositoryEngineeringDir)depProj.common.targets
- $([MSBuild]::NormalizePath('$(ArtifactsDir)', 'tmp', '$(Configuration)', 'RuntimeOS.props'))
- $(LibrariesProjectRoot)\OSGroups.json
+ $(LibrariesProjectRoot)OSGroups.json
netcoreapp5.0
false
@@ -29,7 +28,6 @@
-
@@ -65,17 +63,10 @@
false
-
- true
-
-
-
-
- $([MSBuild]::NormalizePath('$(ArtifactsBinDir)', 'native', '$(BuildTargetFramework)-$(TargetOS)-$(Configuration)-$(TargetArchitecture)'))
-
+ $([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'native', '$(BuildTargetFramework)-$(TargetOS)-$(Configuration)-$(TargetArchitecture)'))
$([MSBuild]::NormalizeDirectory('$(LibrariesProjectRoot)', 'pkg'))
@@ -90,6 +81,13 @@
$(RepositoryEngineeringDir)DefaultGenApiDocIds.txt,$(RepositoryEngineeringDir)ApiCompatExcludeAttributes.txt
+
+
+
+
+
+
+
<_runtimeOSVersionIndex>$(RuntimeOS.IndexOfAny(".-0123456789"))
<_runtimeOSFamily Condition="'$(_runtimeOSVersionIndex)' != '-1'">$(RuntimeOS.SubString(0, $(_runtimeOSVersionIndex)))
@@ -124,6 +122,7 @@
osx-x64
+ $(ToolRuntimeRID)
<_portableOS Condition="'$(TargetOS)' == 'Unix' and '$(_runtimeOSFamily)' != 'osx' and '$(_runtimeOSFamily)' != 'FreeBSD' and '$(_runtimeOS)' != 'linux-musl'">linux
@@ -230,10 +229,10 @@
strict;nullablePublicOnly
4
true
-
+
false
true
- true
+ true
@@ -256,7 +255,6 @@
$([MSBuild]::NormalizeDirectory('$(RefRootPath)', 'netstandard2.0'))
$([MSBuild]::NormalizeDirectory('$(RefRootPath)', 'netstandard2.1'))
$([MSBuild]::NormalizeDirectory('$(RefRootPath)', '$(NetFrameworkCurrent)'))
- $([MSBuild]::NormalizeDirectory('$(ArtifactsToolsetDir)', 'ilasm'))
$(TargetOS).$(Platform).$(Configuration)
@@ -287,6 +285,12 @@
+
+ true
+
+
+
+
false
@@ -328,7 +332,7 @@
true
true
- true
+ true
diff --git a/src/libraries/Directory.Build.targets b/src/libraries/Directory.Build.targets
index 02fd8c7f1d25e6..896ee3207d25ae 100644
--- a/src/libraries/Directory.Build.targets
+++ b/src/libraries/Directory.Build.targets
@@ -119,12 +119,18 @@
-
-
+
-
+
+
+
+
+
+
+
+
<_RefSourceFileOutputPath>$([MSBuild]::NormalizePath('$(MSBuildProjectDirectory)', '..', 'ref', '$(AssemblyName).cs'))
diff --git a/src/libraries/Microsoft.Extensions.Configuration.Json/tests/Microsoft.Extensions.Configuration.Json.Tests.csproj b/src/libraries/Microsoft.Extensions.Configuration.Json/tests/Microsoft.Extensions.Configuration.Json.Tests.csproj
index fa4a9e15cc7a4a..ebc496c00800d3 100644
--- a/src/libraries/Microsoft.Extensions.Configuration.Json/tests/Microsoft.Extensions.Configuration.Json.Tests.csproj
+++ b/src/libraries/Microsoft.Extensions.Configuration.Json/tests/Microsoft.Extensions.Configuration.Json.Tests.csproj
@@ -19,6 +19,7 @@
+
diff --git a/src/libraries/Microsoft.Extensions.Configuration.UserSecrets/tests/Microsoft.Extensions.Configuration.UserSecrets.Tests.csproj b/src/libraries/Microsoft.Extensions.Configuration.UserSecrets/tests/Microsoft.Extensions.Configuration.UserSecrets.Tests.csproj
index b5c7dd08cc2bb2..6f5aa314eabcf6 100644
--- a/src/libraries/Microsoft.Extensions.Configuration.UserSecrets/tests/Microsoft.Extensions.Configuration.UserSecrets.Tests.csproj
+++ b/src/libraries/Microsoft.Extensions.Configuration.UserSecrets/tests/Microsoft.Extensions.Configuration.UserSecrets.Tests.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/src/libraries/Microsoft.Extensions.DependencyInjection/tests/Microsoft.Extensions.DependencyInjection.Tests.csproj b/src/libraries/Microsoft.Extensions.DependencyInjection/tests/Microsoft.Extensions.DependencyInjection.Tests.csproj
index 064b1a4fd35284..2ce3453a2d2ff6 100644
--- a/src/libraries/Microsoft.Extensions.DependencyInjection/tests/Microsoft.Extensions.DependencyInjection.Tests.csproj
+++ b/src/libraries/Microsoft.Extensions.DependencyInjection/tests/Microsoft.Extensions.DependencyInjection.Tests.csproj
@@ -17,7 +17,10 @@
-
+
+
+
+
diff --git a/src/libraries/Microsoft.Extensions.DependencyInjection/tests/xunit.runner.json b/src/libraries/Microsoft.Extensions.DependencyInjection/tests/xunit.runner.json
deleted file mode 100644
index eff47a28bdcac9..00000000000000
--- a/src/libraries/Microsoft.Extensions.DependencyInjection/tests/xunit.runner.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "methodDisplay": "method",
- "appDomain": "denied"
-}
diff --git a/src/libraries/Microsoft.Extensions.DependencyModel/tests/Microsoft.Extensions.DependencyModel.Tests.csproj b/src/libraries/Microsoft.Extensions.DependencyModel/tests/Microsoft.Extensions.DependencyModel.Tests.csproj
index e7463ccec23c43..d5c329eb9479a1 100644
--- a/src/libraries/Microsoft.Extensions.DependencyModel/tests/Microsoft.Extensions.DependencyModel.Tests.csproj
+++ b/src/libraries/Microsoft.Extensions.DependencyModel/tests/Microsoft.Extensions.DependencyModel.Tests.csproj
@@ -3,6 +3,7 @@
$(NetCoreAppCurrent);$(NetFrameworkCurrent)
true
+
true
@@ -13,6 +14,8 @@
+
+
diff --git a/src/libraries/Microsoft.Extensions.Logging.EventSource/tests/Microsoft.Extensions.Logging.EventSource.Tests.csproj b/src/libraries/Microsoft.Extensions.Logging.EventSource/tests/Microsoft.Extensions.Logging.EventSource.Tests.csproj
index 9201e0f1dbeead..08a860a8a580ee 100644
--- a/src/libraries/Microsoft.Extensions.Logging.EventSource/tests/Microsoft.Extensions.Logging.EventSource.Tests.csproj
+++ b/src/libraries/Microsoft.Extensions.Logging.EventSource/tests/Microsoft.Extensions.Logging.EventSource.Tests.csproj
@@ -7,5 +7,6 @@
+
diff --git a/src/libraries/Microsoft.VisualBasic.Core/src/Microsoft.VisualBasic.Core.vbproj b/src/libraries/Microsoft.VisualBasic.Core/src/Microsoft.VisualBasic.Core.vbproj
index 436ecca9fbe2d5..e8774341649cad 100644
--- a/src/libraries/Microsoft.VisualBasic.Core/src/Microsoft.VisualBasic.Core.vbproj
+++ b/src/libraries/Microsoft.VisualBasic.Core/src/Microsoft.VisualBasic.Core.vbproj
@@ -18,6 +18,8 @@
+
+ false
$(NetCoreAppCurrent);$(NetCoreAppCurrent)-Windows_NT
diff --git a/src/libraries/Native/native-binplace.proj b/src/libraries/Native/native-binplace.proj
index 99e71eb38560b5..2631ea732755c0 100644
--- a/src/libraries/Native/native-binplace.proj
+++ b/src/libraries/Native/native-binplace.proj
@@ -1,29 +1,29 @@
-
-
-
-
-
-
-
-
+
+
$(NetCoreAppCurrent);netstandard2.0;$(NetFrameworkCurrent)
$(BuildTargetFramework)
+
+
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/libraries/System.Diagnostics.EventLog/src/PinvokeAnalyzerExceptionList.analyzerdata b/src/libraries/System.Diagnostics.EventLog/src/PinvokeAnalyzerExceptionList.analyzerdata
index fc0e6b2b055239..d9aba2e39deb7b 100644
--- a/src/libraries/System.Diagnostics.EventLog/src/PinvokeAnalyzerExceptionList.analyzerdata
+++ b/src/libraries/System.Diagnostics.EventLog/src/PinvokeAnalyzerExceptionList.analyzerdata
@@ -1,4 +1,5 @@
kernel32.dll!CreateFile
+kernel32.dll!FormatMessage
advapi32.dll!ClearEventLog
advapi32.dll!CloseEventLog
advapi32.dll!GetNumberOfEventLogRecords
@@ -6,6 +7,8 @@ advapi32.dll!GetOldestEventLogRecord
advapi32.dll!NotifyChangeEventLog
advapi32.dll!OpenEventLog
advapi32.dll!ReadEventLog
+advapi32.dll!ReportEvent
+advapi32.dll!RegisterEventSource
wevtapi.dll!EvtQuery
wevtapi.dll!EvtSeek
wevtapi.dll!EvtSubscribe
@@ -40,4 +43,3 @@ wevtapi.dll!EvtFormatMessage
wevtapi.dll!EvtOpenSession
wevtapi.dll!EvtUpdateBookmark
wevtapi.dll!EvtCreateBookmark
-
diff --git a/src/libraries/System.Diagnostics.PerformanceCounter/src/PinvokeAnalyzerExceptionList.analyzerdata b/src/libraries/System.Diagnostics.PerformanceCounter/src/PinvokeAnalyzerExceptionList.analyzerdata
index d8182a70876ea1..65be021301f538 100644
--- a/src/libraries/System.Diagnostics.PerformanceCounter/src/PinvokeAnalyzerExceptionList.analyzerdata
+++ b/src/libraries/System.Diagnostics.PerformanceCounter/src/PinvokeAnalyzerExceptionList.analyzerdata
@@ -1 +1,3 @@
+advapi32.dll!ConvertStringSecurityDescriptorToSecurityDescriptor
+kernel32.dll!LoadLibrary
perfcounter.dll!FormatFromRawValue
\ No newline at end of file
diff --git a/src/libraries/System.Management/src/PinvokeAnalyzerExceptionList.analyzerdata.netcoreapp b/src/libraries/System.Management/src/PinvokeAnalyzerExceptionList.analyzerdata.netcoreapp
new file mode 100644
index 00000000000000..a6ed64c19d4ea8
--- /dev/null
+++ b/src/libraries/System.Management/src/PinvokeAnalyzerExceptionList.analyzerdata.netcoreapp
@@ -0,0 +1 @@
+kernel32.dll!LoadLibrary
\ No newline at end of file
diff --git a/src/libraries/System.Net.Http.WinHttpHandler/tests/FunctionalTests/System.Net.Http.WinHttpHandler.Functional.Tests.csproj b/src/libraries/System.Net.Http.WinHttpHandler/tests/FunctionalTests/System.Net.Http.WinHttpHandler.Functional.Tests.csproj
index 599da9a519e917..d43fb980f5ea19 100644
--- a/src/libraries/System.Net.Http.WinHttpHandler/tests/FunctionalTests/System.Net.Http.WinHttpHandler.Functional.Tests.csproj
+++ b/src/libraries/System.Net.Http.WinHttpHandler/tests/FunctionalTests/System.Net.Http.WinHttpHandler.Functional.Tests.csproj
@@ -199,6 +199,7 @@
+
\ No newline at end of file
diff --git a/src/libraries/System.Net.Http/src/PInvokeAnalyzerExceptionList.analyzerdata b/src/libraries/System.Net.Http/src/PinvokeAnalyzerExceptionList.analyzerdata
similarity index 100%
rename from src/libraries/System.Net.Http/src/PInvokeAnalyzerExceptionList.analyzerdata
rename to src/libraries/System.Net.Http/src/PinvokeAnalyzerExceptionList.analyzerdata
diff --git a/src/libraries/System.Net.Sockets/src/PinvokeAnalyzerExceptionList.analyzerdata b/src/libraries/System.Net.Sockets/src/PinvokeAnalyzerExceptionList.analyzerdata
new file mode 100644
index 00000000000000..e41642f9e083ad
--- /dev/null
+++ b/src/libraries/System.Net.Sockets/src/PinvokeAnalyzerExceptionList.analyzerdata
@@ -0,0 +1 @@
+ws2_32.dll!WSADuplicateSocket
\ No newline at end of file
diff --git a/src/libraries/System.Runtime.WindowsRuntime/ref/System.Runtime.WindowsRuntime.csproj b/src/libraries/System.Runtime.WindowsRuntime/ref/System.Runtime.WindowsRuntime.csproj
index 3885371c63fd3b..a04068f7e4cf09 100644
--- a/src/libraries/System.Runtime.WindowsRuntime/ref/System.Runtime.WindowsRuntime.csproj
+++ b/src/libraries/System.Runtime.WindowsRuntime/ref/System.Runtime.WindowsRuntime.csproj
@@ -19,13 +19,13 @@
-
+
-
+
diff --git a/src/libraries/System.Runtime.WindowsRuntime/src/System.Runtime.WindowsRuntime.csproj b/src/libraries/System.Runtime.WindowsRuntime/src/System.Runtime.WindowsRuntime.csproj
index b8714d9479b2cc..5b03245ecc137a 100644
--- a/src/libraries/System.Runtime.WindowsRuntime/src/System.Runtime.WindowsRuntime.csproj
+++ b/src/libraries/System.Runtime.WindowsRuntime/src/System.Runtime.WindowsRuntime.csproj
@@ -16,18 +16,6 @@
SR.PlatformNotSupported_WindowsRuntime
true
-
-
-
-
-
-
-
-
-
-
-
-
@@ -95,12 +83,24 @@
Common\System\HexConverter.cs
+
+
+
+
+
+
+
+
+
+
+
+
-
+
diff --git a/src/libraries/System.Runtime.WindowsRuntime/tests/System.Runtime.WindowsRuntime.Tests.csproj b/src/libraries/System.Runtime.WindowsRuntime/tests/System.Runtime.WindowsRuntime.Tests.csproj
index dab72ed0560b0e..8633fffda010c5 100644
--- a/src/libraries/System.Runtime.WindowsRuntime/tests/System.Runtime.WindowsRuntime.Tests.csproj
+++ b/src/libraries/System.Runtime.WindowsRuntime/tests/System.Runtime.WindowsRuntime.Tests.csproj
@@ -18,6 +18,6 @@
-
+
\ No newline at end of file
diff --git a/src/libraries/System.ServiceProcess.ServiceController/src/PinvokeAnalyzerExceptionList.analyzerdata b/src/libraries/System.ServiceProcess.ServiceController/src/PinvokeAnalyzerExceptionList.analyzerdata
new file mode 100644
index 00000000000000..f4f41920f718db
--- /dev/null
+++ b/src/libraries/System.ServiceProcess.ServiceController/src/PinvokeAnalyzerExceptionList.analyzerdata
@@ -0,0 +1,2 @@
+advapi32.dll!RegisterServiceCtrlHandlerEx
+advapi32.dll!StartServiceCtrlDispatcher
\ No newline at end of file
diff --git a/src/libraries/build.proj b/src/libraries/build.proj
deleted file mode 100644
index 8da5cf9b63eb6e..00000000000000
--- a/src/libraries/build.proj
+++ /dev/null
@@ -1,79 +0,0 @@
-
-
-
-
-
- true
- true
- true
-
- $(BuildDependsOn);BuildNative
- $(BuildDependsOn);BuildManaged
- $(BuildDependsOn);Pack
- $(BuildDependsOn);BuildTests
-
-
-
-
-
-
- <_RestoreProjects Include="$(MSBuildThisFileDirectory)restore\dirs.proj" Build="true" />
-
-
-
- <_RestoreProjects Include="$(MSBuildThisFileDirectory)tests.proj" Build="false" />
-
-
-
-
-
-
-
-
- <_BuildNativeProjects Include="$(MSBuildThisFileDirectory)Native\build-native.proj" />
-
-
-
-
-
-
-
- <_BuildMangedProjects Include="$(MSBuildThisFileDirectory)dirs.proj" />
-
-
-
-
-
-
-
- <_TestProjects Include="$(MSBuildThisFileDirectory)tests.proj" />
-
-
-
-
-
-
-
- <_TestProjects Include="$(MSBuildThisFileDirectory)tests.proj" />
-
-
-
-
-
-
-
- <_PackProjects Include="$(MSBuildThisFileDirectory)packages.builds" />
-
-
-
-
-
-
-
-
-
-
diff --git a/src/libraries/dir.traversal.targets b/src/libraries/dir.traversal.targets
deleted file mode 100644
index 3596af30d25338..00000000000000
--- a/src/libraries/dir.traversal.targets
+++ /dev/null
@@ -1,53 +0,0 @@
-
-
-
-
-
- $(MSBuildProjectDefaultTargets)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- BuildAllProjects;$(TraversalBuildDependsOn);
-
-
-
-
-
-
-
-
diff --git a/src/libraries/dirs.proj b/src/libraries/dirs.proj
deleted file mode 100644
index 2b9534d5965a81..00000000000000
--- a/src/libraries/dirs.proj
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
-
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/libraries/packages.builds b/src/libraries/libraries-packages.proj
similarity index 62%
rename from src/libraries/packages.builds
rename to src/libraries/libraries-packages.proj
index ab33fce628208e..f1ed35266b01a4 100644
--- a/src/libraries/packages.builds
+++ b/src/libraries/libraries-packages.proj
@@ -1,23 +1,21 @@
-
+
-
- $(AdditionalBuildTargetFrameworks);package-$(Configuration)
+
+ BuildAllProjects=true
+ $(AdditionalBuildTargetFrameworks);package-$(Configuration)
-
-
- $(AdditionalProperties)
-
-
- $(AdditionalProperties)
-
+
+
+
-
+
+
+
-
-
-
+
-
-
+ AfterTargets="Build">
<_PackageReports Include="$(PackageReportDir)*.json" />
-
+
+
+
+
+
+
diff --git a/src/libraries/pkg/Directory.Build.props b/src/libraries/pkg/Directory.Build.props
index 3092ef9fce4e28..832d9ef353d86a 100644
--- a/src/libraries/pkg/Directory.Build.props
+++ b/src/libraries/pkg/Directory.Build.props
@@ -1,4 +1,8 @@
+
+ true
+
+
diff --git a/src/libraries/pkg/Microsoft.Extensions.Internal.Transport/Microsoft.Extensions.Internal.Transport.builds b/src/libraries/pkg/Microsoft.Extensions.Internal.Transport/Microsoft.Extensions.Internal.Transport.proj
similarity index 100%
rename from src/libraries/pkg/Microsoft.Extensions.Internal.Transport/Microsoft.Extensions.Internal.Transport.builds
rename to src/libraries/pkg/Microsoft.Extensions.Internal.Transport/Microsoft.Extensions.Internal.Transport.proj
diff --git a/src/libraries/pkg/Microsoft.NETCore.Platforms.Future/Microsoft.NETCore.Platforms.Future.builds b/src/libraries/pkg/Microsoft.NETCore.Platforms.Future/Microsoft.NETCore.Platforms.Future.proj
similarity index 100%
rename from src/libraries/pkg/Microsoft.NETCore.Platforms.Future/Microsoft.NETCore.Platforms.Future.builds
rename to src/libraries/pkg/Microsoft.NETCore.Platforms.Future/Microsoft.NETCore.Platforms.Future.proj
diff --git a/src/libraries/pkg/Microsoft.NETCore.Platforms/Microsoft.NETCore.Platforms.builds b/src/libraries/pkg/Microsoft.NETCore.Platforms/Microsoft.NETCore.Platforms.proj
similarity index 100%
rename from src/libraries/pkg/Microsoft.NETCore.Platforms/Microsoft.NETCore.Platforms.builds
rename to src/libraries/pkg/Microsoft.NETCore.Platforms/Microsoft.NETCore.Platforms.proj
diff --git a/src/libraries/pkg/Microsoft.NETCore.Targets/Microsoft.NETCore.Targets.builds b/src/libraries/pkg/Microsoft.NETCore.Targets/Microsoft.NETCore.Targets.proj
similarity index 100%
rename from src/libraries/pkg/Microsoft.NETCore.Targets/Microsoft.NETCore.Targets.builds
rename to src/libraries/pkg/Microsoft.NETCore.Targets/Microsoft.NETCore.Targets.proj
diff --git a/src/libraries/pkg/Microsoft.Private.CoreFx.OOB/Microsoft.Private.CoreFx.OOB.builds b/src/libraries/pkg/Microsoft.Private.CoreFx.OOB/Microsoft.Private.CoreFx.OOB.proj
similarity index 100%
rename from src/libraries/pkg/Microsoft.Private.CoreFx.OOB/Microsoft.Private.CoreFx.OOB.builds
rename to src/libraries/pkg/Microsoft.Private.CoreFx.OOB/Microsoft.Private.CoreFx.OOB.proj
diff --git a/src/libraries/pkg/Microsoft.Windows.Compatibility/Microsoft.Windows.Compatibility.builds b/src/libraries/pkg/Microsoft.Windows.Compatibility/Microsoft.Windows.Compatibility.proj
similarity index 100%
rename from src/libraries/pkg/Microsoft.Windows.Compatibility/Microsoft.Windows.Compatibility.builds
rename to src/libraries/pkg/Microsoft.Windows.Compatibility/Microsoft.Windows.Compatibility.proj
diff --git a/src/libraries/pkg/dir.traversal.targets b/src/libraries/pkg/dir.traversal.targets
index 2e66296d7f6a37..c0494a55877552 100644
--- a/src/libraries/pkg/dir.traversal.targets
+++ b/src/libraries/pkg/dir.traversal.targets
@@ -1,5 +1,38 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ BuildAllProjects;$(TraversalBuildDependsOn);
+
+
+
+
+
+
diff --git a/src/libraries/pkg/runtime.native.System.IO.Ports/runtime.native.System.IO.Ports.pkgproj b/src/libraries/pkg/runtime.native.System.IO.Ports/runtime.native.System.IO.Ports.pkgproj
index d899043c4b87a7..211e42313ee2ad 100644
--- a/src/libraries/pkg/runtime.native.System.IO.Ports/runtime.native.System.IO.Ports.pkgproj
+++ b/src/libraries/pkg/runtime.native.System.IO.Ports/runtime.native.System.IO.Ports.pkgproj
@@ -5,7 +5,7 @@
true
-
+
runtimes/$(PackageRID)/native
diff --git a/src/libraries/pkg/runtime.native.System.IO.Ports/runtime.native.System.IO.Ports.builds b/src/libraries/pkg/runtime.native.System.IO.Ports/runtime.native.System.IO.Ports.proj
similarity index 100%
rename from src/libraries/pkg/runtime.native.System.IO.Ports/runtime.native.System.IO.Ports.builds
rename to src/libraries/pkg/runtime.native.System.IO.Ports/runtime.native.System.IO.Ports.proj
diff --git a/src/libraries/pretest.proj b/src/libraries/pretest.proj
index 10cd2407793876..988be57df5c5f8 100644
--- a/src/libraries/pretest.proj
+++ b/src/libraries/pretest.proj
@@ -1,24 +1,31 @@
-
-
+
- GenerateLaunchSettingsFiles
- $(BuildDependsOnTargets);GenerateTestSharedFrameworkDepsFile
- $(BuildDependsOnTargets);GenerateFileVersionProps
- netcoreapp
- 5.0
+ BuildAllProjects=true
+
+
+
+
+
+
-
+
+
+
+
+
-
+ Condition="'$(PlatformManifestFile)' != '' and '$(BuildingNETCoreAppVertical)' == 'true'">
+
<_manualSharedFrameworkRuntimeFiles Include="System.Security.Cryptography.Native.OpenSsl.so" />
<_manualSharedFrameworkRuntimeFiles Include="System.Security.Cryptography.Native.Apple.dylib" />
<_manualSharedFrameworkRuntimeFiles Include="System.Security.Cryptography.Native.OpenSsl.dylib" />
@@ -31,7 +38,10 @@
-
+
-
+
-
-
-
-
- <_TestProjectRootDir>$(LibrariesProjectRoot)
- <_TestProjectRootDir Condition="'$(DirectoryToBuild)'!=''">$(DirectoryToBuild)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/libraries/ref.builds b/src/libraries/ref.builds
deleted file mode 100644
index 9bef0a6e4edbab..00000000000000
--- a/src/libraries/ref.builds
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/libraries/ref.proj b/src/libraries/ref.proj
new file mode 100644
index 00000000000000..c13c10044388a9
--- /dev/null
+++ b/src/libraries/ref.proj
@@ -0,0 +1,24 @@
+
+
+
+ BuildAllProjects=true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/libraries/restore/analyzers/analyzers.depproj b/src/libraries/restore/analyzers/analyzers.depproj
deleted file mode 100644
index 27fad4d37cff1d..00000000000000
--- a/src/libraries/restore/analyzers/analyzers.depproj
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
- false
- true
- C#
- netstandard2.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/libraries/restore/depproj.proj b/src/libraries/restore/depproj.proj
new file mode 100644
index 00000000000000..7825325f923911
--- /dev/null
+++ b/src/libraries/restore/depproj.proj
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/libraries/restore/dirs.proj b/src/libraries/restore/dirs.proj
deleted file mode 100644
index d006b65c8ff7ea..00000000000000
--- a/src/libraries/restore/dirs.proj
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/libraries/restore/netcoreapp/netcoreapp.depproj b/src/libraries/restore/netcoreapp/external.netcoreapp.depproj
similarity index 100%
rename from src/libraries/restore/netcoreapp/netcoreapp.depproj
rename to src/libraries/restore/netcoreapp/external.netcoreapp.depproj
diff --git a/src/libraries/restore/netstandard/netstandard.depproj b/src/libraries/restore/netstandard/external.netstandard.depproj
similarity index 100%
rename from src/libraries/restore/netstandard/netstandard.depproj
rename to src/libraries/restore/netstandard/external.netstandard.depproj
diff --git a/src/libraries/restore/runtime/Directory.Build.props b/src/libraries/restore/runtime/Directory.Build.props
index a86068c18c0fbf..dacf9d99bf7d3f 100644
--- a/src/libraries/restore/runtime/Directory.Build.props
+++ b/src/libraries/restore/runtime/Directory.Build.props
@@ -2,6 +2,6 @@
external.$(MSBuildProjectName)
-
+
\ No newline at end of file
diff --git a/src/libraries/restore/runtime/runtime.depproj b/src/libraries/restore/runtime/runtime.depproj
index 18a776f969b074..0546f2f6c8ec38 100644
--- a/src/libraries/restore/runtime/runtime.depproj
+++ b/src/libraries/restore/runtime/runtime.depproj
@@ -111,4 +111,14 @@
+
+
+
+
+ $([System.Text.RegularExpressions.Regex]::Replace('$(TargetFrameworks)', '_[^;]+;?', ''))
+ $([System.Text.RegularExpressions.Regex]::Replace('$(TargetFrameworks)', '-[^;]+', ''))
+
+
diff --git a/src/libraries/restore/tools/tools.depproj b/src/libraries/restore/tools/tools.depproj
deleted file mode 100644
index f2e32a3773b8b6..00000000000000
--- a/src/libraries/restore/tools/tools.depproj
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
- $(ILAsmToolPath)
- false
- $(ToolRuntimeRID)
- $(NoWarn);NU1603;NU1605
- netstandard2.0
-
-
-
-
- $(MicrosoftNETCoreILAsmVersion)
-
-
- $(MicrosoftNETCoreILAsmVersion)
-
-
-
\ No newline at end of file
diff --git a/src/libraries/restore/winrt/winrt.depproj b/src/libraries/restore/winrt/winrt.depproj
deleted file mode 100644
index fb99977c302e51..00000000000000
--- a/src/libraries/restore/winrt/winrt.depproj
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
- Windows
- .winmd
-
- true
- Reference
- netcoreapp3.0;$(netcoreappCurrent);netstandard1.0
-
-
-
- 1.0.5
-
-
-
\ No newline at end of file
diff --git a/src/libraries/shims/ApiCompat.proj b/src/libraries/shims/ApiCompat.proj
index a261947c3bcd27..fa8fb19352c738 100644
--- a/src/libraries/shims/ApiCompat.proj
+++ b/src/libraries/shims/ApiCompat.proj
@@ -1,9 +1,12 @@
-
+
+
-
+
+ $(BuildTargetFramework)
+
- $(BuildTargetFramework)
+ $(TargetFramework)
netcoreapp
$(IntermediateOutputPath)/apicompat.rsp
$(MSBuildThisFileDirectory)ApiCompatBaseline.$(ApiCompatTarget).netfx461.txt
@@ -117,11 +120,12 @@
-
-
+
-
-
+
+
+
+
diff --git a/src/libraries/shims/Directory.Build.props b/src/libraries/shims/Directory.Build.props
index 790b6126ca80de..d0835fdd9bb98f 100644
--- a/src/libraries/shims/Directory.Build.props
+++ b/src/libraries/shims/Directory.Build.props
@@ -18,8 +18,6 @@
true
false
true
-
- false
diff --git a/src/libraries/src.builds b/src/libraries/src.builds
deleted file mode 100644
index 5903b7fd7a10af..00000000000000
--- a/src/libraries/src.builds
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/libraries/src.proj b/src/libraries/src.proj
new file mode 100644
index 00000000000000..b3b5f8504fc6e5
--- /dev/null
+++ b/src/libraries/src.proj
@@ -0,0 +1,49 @@
+
+
+
+ BuildAllProjects=true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj
index 34b7228163c540..27a11e939c9470 100644
--- a/src/libraries/tests.proj
+++ b/src/libraries/tests.proj
@@ -1,92 +1,33 @@
-
-
-
+
-
- $(NetCoreAppCurrent)
-
+
-
-
-
-
-
+
+ true
+
+ ErrorAndContinue
+ BuildAllProjects=true
$(ArtifactsBinDir)*.Tests/**/coverage.xml
$(ArtifactsDir)coverage
- true
-
+
-
-
-
-
-
-
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/src/mono/Directory.Build.props b/src/mono/Directory.Build.props
index f77c6f89f0fbb7..6cf44957604776 100644
--- a/src/mono/Directory.Build.props
+++ b/src/mono/Directory.Build.props
@@ -93,4 +93,9 @@
strict;nullablePublicOnly
+
+
+ $(ArtifactsObjDir)mono/$(PlatformConfigPathPart)/
+ $(MonoObjDir)llvm
+
diff --git a/src/mono/llvm/llvm-init.proj b/src/mono/llvm/llvm-init.proj
index 62b0c0d1301b2e..a43b35b917bc99 100644
--- a/src/mono/llvm/llvm-init.proj
+++ b/src/mono/llvm/llvm-init.proj
@@ -13,7 +13,7 @@
-
+
diff --git a/src/mono/mono.proj b/src/mono/mono.proj
index 3f3f04da931eca..55c4e17fba9993 100644
--- a/src/mono/mono.proj
+++ b/src/mono/mono.proj
@@ -1,11 +1,7 @@
-
+
-
+
- $(ArtifactsObjDir)mono/$(PlatformConfigPathPart)/
- false
- false
- $(MonoObjDir)llvm
$(ROOTFS_DIR)
dotnet.exe
dotnet
@@ -518,63 +514,6 @@
-
-
-
-
-
-
-
- <_MonoRuntimeFilePath Condition="'$(TargetsWindows)' == 'true' and '$(Platform)' == 'x64'">$(MonoObjDir)x64\Bin\$(Configuration)\mono-2.0-sgen.dll
- <_MonoRuntimeFilePath Condition="'$(TargetsWindows)' == 'true' and '$(Platform)' == 'x86'">$(MonoObjDir)Win32\Bin\$(Configuration)\mono-2.0-sgen.dll
- <_MonoRuntimeFilePath Condition="'$(TargetsOSX)' == 'true'">$(MonoObjDir)mono\mini\.libs\libmonosgen-2.0.dylib
- <_MonoRuntimeFilePath Condition="'$(TargetsiOS)' == 'true'">$(MonoObjDir)out\lib\libmonosgen-2.0.dylib
- <_MonoRuntimeFilePath Condition="'$(TargetsAndroid)' == 'true'">$(MonoObjDir)out\lib\libmonosgen-2.0.so
- <_MonoRuntimeFilePath Condition="'$(_MonoRuntimeFilePath)' == ''">$(MonoObjDir)mono\mini\.libs\libmonosgen-2.0.so
- <_MonoRuntimeStaticFilePath Condition="'$(TargetsiOS)' == 'true' or '$(TargetsAndroid)' == 'true'">$(MonoObjDir)out\lib\libmonosgen-2.0.a
- <_MonoAotCrossFilePath Condition="'$(TargetsiOS)' == 'true' and '$(Platform)' == 'arm64'">$(MonoObjDir)cross\out\bin\aarch64-darwin-mono-sgen
- <_MonoAotCrossFilePath Condition="'$(TargetsiOS)' == 'true' and '$(Platform)' == 'arm'">$(MonoObjDir)cross\out\bin\arm-darwin-mono-sgen
-
-
-
-
- <_MonoRuntimeArtifacts Include="$(_MonoRuntimeFilePath)">
- $(BinDir)$(MonoFileName)
-
- <_MonoRuntimeArtifacts Include="$(_MonoRuntimeStaticFilePath)">
- $(BinDir)$(MonoStaticFileName)
-
- <_MonoRuntimeArtifacts Include="$(_MonoAotCrossFilePath)">
- $(BinDir)cross\mono-aot-cross
-
- <_MonoIncludeArtifacts Include="$(MonoObjDir)out\include\**" />
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -714,4 +653,47 @@
+
+
+
+
+
+
+ <_MonoRuntimeFilePath Condition="'$(TargetsWindows)' == 'true' and '$(Platform)' == 'x64'">$(MonoObjDir)x64\Bin\$(Configuration)\mono-2.0-sgen.dll
+ <_MonoRuntimeFilePath Condition="'$(TargetsWindows)' == 'true' and '$(Platform)' == 'x86'">$(MonoObjDir)Win32\Bin\$(Configuration)\mono-2.0-sgen.dll
+ <_MonoRuntimeFilePath Condition="'$(TargetsOSX)' == 'true'">$(MonoObjDir)mono\mini\.libs\libmonosgen-2.0.dylib
+ <_MonoRuntimeFilePath Condition="'$(TargetsiOS)' == 'true'">$(MonoObjDir)out\lib\libmonosgen-2.0.dylib
+ <_MonoRuntimeFilePath Condition="'$(TargetsAndroid)' == 'true'">$(MonoObjDir)out\lib\libmonosgen-2.0.so
+ <_MonoRuntimeFilePath Condition="'$(_MonoRuntimeFilePath)' == ''">$(MonoObjDir)mono\mini\.libs\libmonosgen-2.0.so
+ <_MonoRuntimeStaticFilePath Condition="'$(TargetsiOS)' == 'true' or '$(TargetsAndroid)' == 'true'">$(MonoObjDir)out\lib\libmonosgen-2.0.a
+ <_MonoAotCrossFilePath Condition="'$(TargetsiOS)' == 'true' and '$(Platform)' == 'arm64'">$(MonoObjDir)cross\out\bin\aarch64-darwin-mono-sgen
+ <_MonoAotCrossFilePath Condition="'$(TargetsiOS)' == 'true' and '$(Platform)' == 'arm'">$(MonoObjDir)cross\out\bin\arm-darwin-mono-sgen
+
+
+
+
+ <_MonoRuntimeArtifacts Include="$(_MonoRuntimeFilePath)">
+ $(BinDir)$(MonoFileName)
+
+ <_MonoRuntimeArtifacts Include="$(_MonoRuntimeStaticFilePath)">
+ $(BinDir)$(MonoStaticFileName)
+
+ <_MonoRuntimeArtifacts Include="$(_MonoAotCrossFilePath)">
+ $(BinDir)cross\mono-aot-cross
+
+ <_MonoIncludeArtifacts Include="$(MonoObjDir)out\include\**" />
+
+
+
+
+
+
+
+
+
diff --git a/src/mono/netcore/System.Private.CoreLib/System.Private.CoreLib.csproj b/src/mono/netcore/System.Private.CoreLib/System.Private.CoreLib.csproj
index e562f9f855e48a..cd45f2dc12df44 100644
--- a/src/mono/netcore/System.Private.CoreLib/System.Private.CoreLib.csproj
+++ b/src/mono/netcore/System.Private.CoreLib/System.Private.CoreLib.csproj
@@ -304,10 +304,6 @@
-
-
-
-
+
+
+
-
-
+
+
+ AdditionalProperties="%(ProjectReference.AdditionalProperties);FileVersion=$(FileVersion)" />
+
+
+
+
+