File: tool_fsc.csproj
Web Access
Project: ..\..\..\src\Layout\redist\tools\tool_fsc.csproj (tool_fsc)
<Project Sdk="Microsoft.NET.Sdk">
 
  <PropertyGroup>
    <TargetFramework>$(SdkTargetFramework)</TargetFramework>
    <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
    <ServerGarbageCollection>true</ServerGarbageCollection>
  </PropertyGroup>
 
  <!-- MIBC, PGO -->
  <PropertyGroup>
    <MibcPath>$(PkgMicrosoft_FSharp_Compiler)/contentFiles/mibc</MibcPath>
    <MibcRid>$(TargetRid)</MibcRid>
    <MibcRid Condition="$(MibcRid.Contains('musl-'))">$(MibcRid.Replace('musl-', ''))</MibcRid>
    <MibcFile>$(MibcPath)/optimization.$(MibcRid).mibc.runtime/DotNet_FSharp.mibc</MibcFile>
    <ReadyToRunOptimizationData>$(MibcFile)</ReadyToRunOptimizationData>
  </PropertyGroup>
 
  <ItemGroup>
    <PackageReference Include="Microsoft.FSharp.Compiler" ExcludeAssets="contentFiles" GeneratePathProperty="true" />
    <PackageReference Include="Microsoft.Build.Framework" VersionOverride="$(MicrosoftBuildCurrentPackageVersion)" />
    <PackageReference Include="Microsoft.Build.Tasks.Core" VersionOverride="$(MicrosoftBuildCurrentPackageVersion)" />
    <PackageReference Include="Microsoft.Build.Utilities.Core" VersionOverride="$(MicrosoftBuildCurrentPackageVersion)" />
    <PackageReference Include="Microsoft.NET.StringTools" VersionOverride="$(MicrosoftBuildCurrentPackageVersion)" />
  </ItemGroup>
 
  <!-- MIBC don't work for SB yet: https://github.com/dotnet/source-build/issues/247 -->
  <Target Name="ValidateMibcFile" AfterTargets="_ResolvePublishNuGetPackagePdbsAndXml" Condition="'$(DotNetBuildSourceOnly)' != 'true' AND '$(SelfContained)' == 'true'">
    <Error Condition="!Exists('$(MibcFile)')" Text="MIBC file '$(MibcFile)' does not exist." />
  </Target>
 
   <Target Name="_ResolvePublishNuGetPackagePdbsAndXml"
        AfterTargets="_ResolveCopyLocalAssetsForPublish">
    <PropertyGroup>
      <FSharpCorePath Condition="'$(DotNetFinalVersionKind)'==''">Shipping</FSharpCorePath>
      <FSharpCorePath Condition="'$(DotNetFinalVersionKind)'=='prerelease'">PreRelease</FSharpCorePath>
      <FSharpCorePath Condition="'$(DotNetFinalVersionKind)'=='release'">Release</FSharpCorePath>
      <FSharpTfm>net10.0</FSharpTfm>
      <FSharpTfm Condition="'$(DotNetBuildSourceOnly)' == 'true' and '$(DotNetBuildFromVMR)' == 'true'">$(NetCurrent)</FSharpTfm>
    </PropertyGroup>
 
    <ItemGroup>
        <ResolvedFileToPublish
          Include="$(PkgMicrosoft_FSharp_Compiler)/lib/$(FSharpTfm)/FSharp.Core.xml"
          CopyToPublishDirectory="PreserveNewest"
          DestinationSubPath="FSharp.Core.xml"
          RelativePath="FSharp.Core.xml"
          TargetPath="FSharpCore.xml" />
        <FilesToCopyFromFSharpCompilerPackage Include="$(PkgMicrosoft_FSharp_Compiler)/contentFiles/$(FSharpCorePath)/FSharp.Core.*.nupkg" SubDir="library-packs\"/>
        <FilesToCopyFromFSharpCompilerPackage Include="$(PkgMicrosoft_FSharp_Compiler)/contentFiles/$(FSharpCorePath)/Microsoft.FSharp.Core.NetSdk.props" SubDir="" />
        <FilesToCopyFromFSharpCompilerPackage Include="$(PkgMicrosoft_FSharp_Compiler)/contentFiles/any/any/*" Exclude="$(PkgMicrosoft_FSharp_Compiler)/contentFiles/any/any/Microsoft.FSharp.Core.NetSdk.props" SubDir="" />
        <FilesToCopyFromFSharpCompilerPackage Include="$(MibcPath)/*" SubDir="" Condition="'$(DotNetBuildSourceOnly)' != 'true'" />
    </ItemGroup>
 
    <ItemGroup>
        <ResolvedFileToPublish
          Include="@(FilesToCopyFromFSharpCompilerPackage)"
          CopyToPublishDirectory="PreserveNewest"
          DestinationSubPath="%(FilesToCopyFromFSharpCompilerPackage.SubDir)%(Filename)%(Extension)"
          RelativePath="%(FilesToCopyFromFSharpCompilerPackage.SubDir)%(Filename)%(Extension)"
          TargetPath="%(FilesToCopyFromFSharpCompilerPackage.SubDir)%(Filename)%(Extension)" />
    </ItemGroup>
  </Target>
 
</Project>