mirror of
https://github.com/VSadov/Satori.git
synced 2025-06-09 17:44:48 +09:00

* Don't reference ns.dll inside shared framework The netstandard.dll shim shouldn't be referenced inside the shared framework as it's a compat shim that shouldn't be required to compose the shared framework. This removes the necessity of a separate RefPath build and improves incremental build times as only the few OOB projects that require the shim would need to rebuild. * Reference netstandard shim in OOBs that require it There are a few OOB projects that require the netstandard.dll shim as they intentionally reference projects that only expose a netstandard configuration. Co-authored-by: Buyaa Namnan <buyankhishig.namnan@microsoft.com>
52 lines
2.5 KiB
XML
52 lines
2.5 KiB
XML
<Project>
|
|
<PropertyGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp'">
|
|
<!--
|
|
Disable RAR from transitively discovering dependencies for references. This is required as we don't copy
|
|
dependencies over into the output directory which means RAR can't resolve them.
|
|
-->
|
|
<_FindDependencies>false</_FindDependencies>
|
|
</PropertyGroup>
|
|
|
|
<!-- If a CoreLib ProjectReference is present, make all P2P assets non transitive. -->
|
|
<ItemGroup Condition="'@(ProjectReference)' != '' and
|
|
@(ProjectReference->AnyHaveMetadataValue('Identity', '$(CoreLibProject)'))">
|
|
<ProjectReference Update="@(ProjectReference)"
|
|
PrivateAssets="all" />
|
|
</ItemGroup>
|
|
|
|
<!-- Project references shouldn't be copied to the output for non test apps. -->
|
|
<ItemDefinitionGroup Condition="'$(IsTestProject)' != 'true' and '$(IsTestSupportProject)' != 'true'">
|
|
<ProjectReference>
|
|
<Private>false</Private>
|
|
</ProjectReference>
|
|
</ItemDefinitionGroup>
|
|
|
|
<!-- Filter out transitive P2Ps which should be excluded. -->
|
|
<Target Name="FilterTransitiveProjectReferences"
|
|
AfterTargets="IncludeTransitiveProjectReferences"
|
|
Condition="'$(DisableTransitiveProjectReferences)' != 'true' and
|
|
'@(DefaultReferenceExclusion)' != ''">
|
|
<ItemGroup>
|
|
<_transitiveProjectReferenceWithExclusion Include="@(ProjectReference)">
|
|
<Exclusion>%(DefaultReferenceExclusion.Identity)</Exclusion>
|
|
</_transitiveProjectReferenceWithExclusion>
|
|
<ProjectReference Remove="@(_transitiveProjectReferenceWithExclusion)"
|
|
Condition="'%(_transitiveProjectReferenceWithExclusion.NuGetPackageId)' == '%(_transitiveProjectReferenceWithExclusion.Exclusion)'" />
|
|
</ItemGroup>
|
|
</Target>
|
|
|
|
<!-- Make shared framework assemblies not app-local (non private). -->
|
|
<Target Name="UpdateProjectReferencesWithPrivateAttribute"
|
|
AfterTargets="AssignProjectConfiguration"
|
|
BeforeTargets="PrepareProjectReferences"
|
|
Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and
|
|
('$(IsTestProject)' == 'true' or '$(IsTestSupportProject)' == 'true') and
|
|
'@(ProjectReferenceWithConfiguration)' != ''">
|
|
<ItemGroup>
|
|
<ProjectReferenceWithConfiguration PrivateAssets="all"
|
|
Private="false"
|
|
Condition="$(NetCoreAppLibrary.Contains('%(Filename);'))" />
|
|
</ItemGroup>
|
|
</Target>
|
|
|
|
</Project>
|