<NetStandard21RefPath>$([MSBuild]::NormalizeDirectory('$(RefRootPath)', 'netstandard2.1'))</NetStandard21RefPath>
<NetFxRefPath>$([MSBuild]::NormalizeDirectory('$(RefRootPath)', '$(NetFrameworkCurrent)'))</NetFxRefPath>
+ <!-- System.Private.CoreLib -->
+ <CoreLibProject Condition="'$(RuntimeFlavor)' == 'CoreCLR'">$([MSBuild]::NormalizePath('$(CoreClrProjectRoot)', 'src', 'System.Private.CoreLib', 'System.Private.CoreLib.csproj'))</CoreLibProject>
+ <CoreLibProject Condition="'$(RuntimeFlavor)' == 'Mono'">$([MSBuild]::NormalizePath('$(MonoProjectRoot)', 'netcore', 'System.Private.CoreLib', 'System.Private.CoreLib.csproj'))</CoreLibProject>
+
<!-- Helix properties -->
<OSPlatformConfig>$(TargetOS).$(Platform).$(Configuration)</OSPlatformConfig>
<AnyOSPlatformConfig>AnyOS.AnyCPU.$(Configuration)</AnyOSPlatformConfig>
-<Project InitialTargets="AddSkipGetTargetFrameworkToProjectReferences">
+<Project InitialTargets="UpdateProjectReferencesWithAttributes">
<PropertyGroup>
<RefPath>$([MSBuild]::NormalizeDirectory('$(RefRootPath)', '$(TargetFramework)'))</RefPath>
</PropertyGroup>
<!-- Define this target to override the workaround in arcade as we don't need it for our pkgprojs -->
<Target Name="InitializeStandardNuspecProperties" />
- <Target Name="AddSkipGetTargetFrameworkToProjectReferences" Condition="'@(ProjectReference)' != ''">
+ <Target Name="UpdateProjectReferencesWithAttributes" Condition="'@(ProjectReference)' != ''">
<ItemGroup>
<ProjectReference>
<SkipGetTargetFrameworkProperties>true</SkipGetTargetFrameworkProperties>
+ <AdditionalProperties Condition="'%(Filename)' == 'System.Private.CoreLib' and '$(RuntimeFlavor)' == 'CoreCLR'">Configuration=$(CoreCLRConfiguration);TargetFramework=$(NetCoreAppCurrent)</AdditionalProperties>
+ <AdditionalProperties Condition="'%(Filename)' == 'System.Private.CoreLib' and '$(RuntimeFlavor)' == 'Mono'">Configuration=$(MonoConfiguration);TargetFramework=$(NetCoreAppCurrent)</AdditionalProperties>
</ProjectReference>
</ItemGroup>
</Target>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
- <ReferenceFromRuntime Include="System.Private.CoreLib" />
+ <ProjectReference Include="$(CoreLibProject)" />
</ItemGroup>
</Project>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
- <ReferenceFromRuntime Include="System.Private.CoreLib" />
+ <ProjectReference Include="$(CoreLibProject)" />
</ItemGroup>
</Project>
\ No newline at end of file
Link="System\Collections\Concurrent\IProducerConsumerCollectionDebugView.cs" />
</ItemGroup>
<ItemGroup>
- <ReferenceFromRuntime Include="System.Private.CoreLib" />
+ <ProjectReference Include="$(CoreLibProject)" />
<ProjectReference Include="..\..\System.Collections\src\System.Collections.csproj" />
<ProjectReference Include="..\..\System.Diagnostics.Tracing\src\System.Diagnostics.Tracing.csproj" />
<ProjectReference Include="..\..\System.Threading\src\System.Threading.csproj" />
Link="Common\System\Collections\Generic\EnumerableHelpers.cs" />
</ItemGroup>
<ItemGroup>
- <ReferenceFromRuntime Include="System.Private.CoreLib" />
+ <ProjectReference Include="$(CoreLibProject)" />
</ItemGroup>
</Project>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
- <ReferenceFromRuntime Include="System.Private.CoreLib" />
+ <ProjectReference Include="$(CoreLibProject)" />
</ItemGroup>
</Project>
\ No newline at end of file
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
- <ReferenceFromRuntime Include="System.Private.CoreLib" />
+ <ProjectReference Include="$(CoreLibProject)" />
</ItemGroup>
</Project>
\ No newline at end of file
<ItemGroup>
<DefaultReferenceExclusions Include="System.Diagnostics.Debug" />
<DefaultReferenceExclusions Include="System.Runtime.Extensions" />
- <ReferenceFromRuntime Include="System.Private.CoreLib" />
+ <ProjectReference Include="$(CoreLibProject)" Private="false" />
<ReferenceFromRuntime Include="System.Runtime" />
<ReferenceFromRuntime Include="System.Threading" />
</ItemGroup>
<ProjectReference Include="..\..\System.Collections.Immutable\src\System.Collections.Immutable.csproj" />
</ItemGroup>
<ItemGroup>
- <ReferenceFromRuntime Include="System.Private.CoreLib" />
+ <ProjectReference Include="$(CoreLibProject)" />
</ItemGroup>
</Project>
\ No newline at end of file
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
- <ReferenceFromRuntime Include="System.Private.CoreLib" />
+ <ProjectReference Include="$(CoreLibProject)" />
</ItemGroup>
</Project>
<ProjectReference Include="..\..\System.Threading\src\System.Threading.csproj" />
</ItemGroup>
<ItemGroup>
- <ReferenceFromRuntime Include="System.Private.CoreLib" />
+ <ProjectReference Include="$(CoreLibProject)" />
</ItemGroup>
</Project>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
- <ReferenceFromRuntime Include="System.Private.CoreLib" />
+ <ProjectReference Include="$(CoreLibProject)" />
</ItemGroup>
</Project>
\ No newline at end of file
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
- <ReferenceFromRuntime Include="System.Private.CoreLib" />
+ <ProjectReference Include="$(CoreLibProject)" />
</ItemGroup>
</Project>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
- <ReferenceFromRuntime Include="System.Private.CoreLib" />
+ <ProjectReference Include="$(CoreLibProject)" />
</ItemGroup>
</Project>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
- <ReferenceFromRuntime Include="System.Private.CoreLib" />
+ <ProjectReference Include="$(CoreLibProject)" />
</ItemGroup>
</Project>
Link="Common\System\Buffers\ArrayBufferWriter.cs" />
</ItemGroup>
<ItemGroup>
- <ReferenceFromRuntime Include="System.Private.CoreLib" />
+ <ProjectReference Include="$(CoreLibProject)" />
</ItemGroup>
</Project>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
- <ReferenceFromRuntime Include="System.Private.CoreLib" />
+ <ProjectReference Include="$(CoreLibProject)" />
</ItemGroup>
</Project>
\ No newline at end of file
<Compile Include="System\Uri.Unix.cs" />
</ItemGroup>
<ItemGroup>
- <ReferenceFromRuntime Include="System.Private.CoreLib" />
+ <ProjectReference Include="$(CoreLibProject)" />
</ItemGroup>
</Project>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
- <ReferenceFromRuntime Include="System.Private.CoreLib" />
+ <ProjectReference Include="$(CoreLibProject)" />
</ItemGroup>
</Project>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
- <ReferenceFromRuntime Include="System.Private.CoreLib" />
+ <ProjectReference Include="$(CoreLibProject)" />
</ItemGroup>
</Project>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
- <ReferenceFromRuntime Include="System.Private.CoreLib" />
+ <ProjectReference Include="$(CoreLibProject)" />
</ItemGroup>
</Project>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
- <ReferenceFromRuntime Include="System.Private.CoreLib" />
+ <ProjectReference Include="$(CoreLibProject)" />
</ItemGroup>
</Project>
\ No newline at end of file
<Compile Include="System\Reflection\TypeExtensions.cs" />
</ItemGroup>
<ItemGroup>
- <ReferenceFromRuntime Include="System.Private.CoreLib" />
+ <ProjectReference Include="$(CoreLibProject)" />
</ItemGroup>
</Project>
\ No newline at end of file
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
- <ReferenceFromRuntime Include="System.Private.CoreLib" />
+ <ProjectReference Include="$(CoreLibProject)" />
</ItemGroup>
</Project>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
- <ReferenceFromRuntime Include="System.Private.CoreLib" />
+ <ProjectReference Include="$(CoreLibProject)" />
</ItemGroup>
</Project>
<ProjectReference Include="..\..\System.Runtime\src\System.Runtime.csproj" />
</ItemGroup>
<ItemGroup>
- <ReferenceFromRuntime Include="System.Private.CoreLib" />
+ <ProjectReference Include="$(CoreLibProject)" />
</ItemGroup>
</Project>
<Compile Include="System\Security\SecureStringMarshal.cs" />
</ItemGroup>
<ItemGroup>
- <ReferenceFromRuntime Include="System.Private.CoreLib" />
+ <ProjectReference Include="$(CoreLibProject)" />
</ItemGroup>
</Project>
\ No newline at end of file
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
- <ReferenceFromRuntime Include="System.Private.CoreLib" />
+ <ProjectReference Include="$(CoreLibProject)" />
</ItemGroup>
</Project>
\ No newline at end of file
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
- <ReferenceFromRuntime Include="System.Private.CoreLib" />
+ <ProjectReference Include="$(CoreLibProject)" />
</ItemGroup>
</Project>
\ No newline at end of file
Link="Common\System\Collections\HashHelpers.cs" />
</ItemGroup>
<ItemGroup>
- <ReferenceFromRuntime Include="System.Private.CoreLib" />
+ <ProjectReference Include="$(CoreLibProject)" />
<ProjectReference Include="..\..\System.Runtime.CompilerServices.Unsafe\src\System.Runtime.CompilerServices.Unsafe.ilproj" />
<ProjectReference Include="..\..\System.Runtime\src\System.Runtime.csproj" />
<ProjectReference Include="..\..\System.Collections\src\System.Collections.csproj" />
<ProjectReference Include="..\..\System.Private.Uri\src\System.Private.Uri.csproj" />
</ItemGroup>
<ItemGroup>
- <ReferenceFromRuntime Include="System.Private.CoreLib" />
+ <ProjectReference Include="$(CoreLibProject)" />
</ItemGroup>
</Project>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
- <ReferenceFromRuntime Include="System.Private.CoreLib" />
+ <ProjectReference Include="$(CoreLibProject)" />
</ItemGroup>
</Project>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
- <ReferenceFromRuntime Include="System.Private.CoreLib" />
+ <ProjectReference Include="$(CoreLibProject)" />
</ItemGroup>
</Project>
\ No newline at end of file
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
- <ReferenceFromRuntime Include="System.Private.CoreLib" />
+ <ProjectReference Include="$(CoreLibProject)" />
</ItemGroup>
</Project>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
- <ReferenceFromRuntime Include="System.Private.CoreLib" />
+ <ProjectReference Include="$(CoreLibProject)" />
</ItemGroup>
</Project>
\ No newline at end of file
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
- <ReferenceFromRuntime Include="System.Private.CoreLib" />
+ <ProjectReference Include="$(CoreLibProject)" />
</ItemGroup>
</Project>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
- <ReferenceFromRuntime Include="System.Private.CoreLib" />
+ <ProjectReference Include="$(CoreLibProject)" />
</ItemGroup>
</Project>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
- <ReferenceFromRuntime Include="System.Private.CoreLib" />
+ <ProjectReference Include="$(CoreLibProject)" />
</ItemGroup>
</Project>
\ No newline at end of file
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
- <ReferenceFromRuntime Include="System.Private.CoreLib" />
+ <ProjectReference Include="$(CoreLibProject)" />
</ItemGroup>
</Project>
\ No newline at end of file
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
- <ReferenceFromRuntime Include="System.Private.CoreLib" />
+ <ProjectReference Include="$(CoreLibProject)" />
</ItemGroup>
</Project>
Link="Common\System\HResults.cs" />
</ItemGroup>
<ItemGroup>
- <ReferenceFromRuntime Include="System.Private.CoreLib" />
+ <ProjectReference Include="$(CoreLibProject)" />
</ItemGroup>
</Project>
<Reference Include="System.Security.Cryptography.Algorithms" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == '$(NetCoreAppCurrent)'">
- <ReferenceFromRuntime Include="System.Private.CoreLib" />
+ <ProjectReference Include="$(CoreLibProject)" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Net.Primitives" />
<ProjectReference Include="..\..\System.Runtime\src\System.Runtime.csproj" />
</PropertyGroup>
<ItemGroup>
- <ReferencePath
- Include="$(RuntimePath)System.*.dll;$(RuntimePath)Microsoft.Win32.*.dll;$(RuntimePath)netstandard.dll"
- Exclude="$(RuntimePath)$(MSBuildProjectName).dll" />
+ <ReferencePath Include="$(RuntimePath)System.*.dll;$(RuntimePath)Microsoft.Win32.*.dll;$(RuntimePath)netstandard.dll"
+ Exclude="$(RuntimePath)$(MSBuildProjectName).dll" />
+ <ProjectReference Include="$(CoreLibProject)" />
</ItemGroup>
-
- <Target Name="AddSystemPrivateCoreLibReferencePath" DependsOnTargets="GetFilesFromRuntime" BeforeTargets="ResolveReferences">
- <ItemGroup>
- <ReferencePath Include="@(RuntimeFiles)" Condition="'%(FileName)%(Extension)' == 'System.Private.CoreLib.dll'" />
- </ItemGroup>
- </Target>
</Project>