File size: 7,987 Bytes
090629c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
<!-- Copyright (c) Microsoft Corporation.  All Rights Reserved.  See License.txt in the project root for license information. -->
<!--

***********************************************************************************************

Microsoft.FSharp.NetSdk.props



WARNING:  DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have

          created a backup copy.  Incorrect changes to this file will make it

          impossible to load or build your projects from the command-line or the IDE.



***********************************************************************************************

-->

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

  <PropertyGroup>
    <MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
  </PropertyGroup>

  <Choose>
    <When Condition="'$(DefineConstants)' == '' ">
      <PropertyGroup>
        <DefineConstants>TRACE</DefineConstants>
      </PropertyGroup>
    </When>
    <Otherwise>
      <PropertyGroup>
        <DefineConstants>$(DefineConstants);TRACE</DefineConstants>
      </PropertyGroup>
    </Otherwise>
  </Choose>

  <PropertyGroup>
    <EnableDefaultCompileItems Condition=" '$(EnableDefaultCompileItems)' == '' ">false</EnableDefaultCompileItems>                                 <!-- Do not glob F# source files -->
    <!--

        It turns out that the project system discovers Folders as a consequence of <SomeItem Include="path to files" />

        ''''EnableDefaultNoneItems true'''' causes folders and .fsi files to be displayed in the wrong order. because

        Discovers Folders as a consequence of ````<SomeItem Include="path to files" />```` which EnableDefaultNoneItems causes folders and .fsi files to be located in the solution folder

        prior to the ````<Compile Include="" />```` in the .fsproj which messes with the display order in solution explorer.

    -->
    <EnableDefaultNoneItems Condition=" '$(EnableDefaultNoneItems)' == '' ">false</EnableDefaultNoneItems>                                          <!-- Do not glob F# none items-->
  </PropertyGroup>

  <PropertyGroup>
    <Language>F#</Language>                                                                                                                         <!-- It's an F# Language project -->
    <DefaultProjectTypeGuid Condition=" '$(DefaultProjectTypeGuid)' == '' ">{F2A71F9B-5D33-465A-A702-920D77279786}</DefaultProjectTypeGuid>         <!-- F# project type -->
    <Prefer32Bit Condition="'$(Prefer32Bit)' == '' ">false</Prefer32Bit>
    <TreatWarningsAsErrors Condition="'$(TreatWarningsAsErrors)' == '' ">false</TreatWarningsAsErrors>
    <WarningLevel Condition=" '$(WarningLevel)' == '' ">3</WarningLevel>
    <WarningsAsErrors>3239;$(WarningsAsErrors)</WarningsAsErrors>
    <UseStandardResourceNames Condition=" '$(UseStandardResourceNames)' == '' ">true</UseStandardResourceNames>
    <FsiExec Condition=" '$(FsiExec)' == '' ">true</FsiExec>
    <ReflectionFree Condition=" '$(ReflectionFree)' == '' ">false</ReflectionFree>
  </PropertyGroup>

  <!-- BinaryFormatter is disabled (warning is treated as error) by default in .NET8+, this mirroring the change in SDK (https://github.com/dotnet/sdk/pull/31591) -->
  <PropertyGroup>
    <WarningsAsErrors Condition="'$(_BinaryFormatterObsoleteAsError)' == 'true'">$(WarningsAsErrors);SYSLIB0011</WarningsAsErrors>
  </PropertyGroup>

  <PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
    <DebugSymbols Condition="'$(DebugSymbols)' == '' ">true</DebugSymbols>
    <Optimize Condition="'$(Optimize)' == '' ">false</Optimize>
    <Tailcalls Condition="'$(Tailcalls)' == '' ">false</Tailcalls>
  </PropertyGroup>

  <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
    <DebugSymbols Condition="'$(DebugSymbols)' == '' ">false</DebugSymbols>
    <Optimize Condition="'$(Optimize)' == '' ">true</Optimize>
    <Tailcalls Condition="'$(Tailcalls)' == '' ">true</Tailcalls>
  </PropertyGroup>

  <PropertyGroup Condition="'$(DisableAutoSetFscCompilerPath)' != 'true' and '$(DOTNET_HOST_PATH)' != ''">
    <FscToolPath Condition="'$(FscToolPath)' == ''">$([System.IO.Path]::GetDirectoryName($(DOTNET_HOST_PATH)))</FscToolPath>
    <FscToolExe Condition="'$(FscToolExe)' == ''">$([System.IO.Path]::GetFileName($(DOTNET_HOST_PATH)))</FscToolExe>
    <DotnetFscCompilerPath Condition="'$(DotnetFscCompilerPath)' == ''">"$(MSBuildThisFileDirectory)fsc.dll"</DotnetFscCompilerPath>

    <FsiToolPath Condition="'$(FsiToolPath)' == ''">$([System.IO.Path]::GetDirectoryName($(DOTNET_HOST_PATH)))</FsiToolPath>
    <FsiToolExe Condition="'$(FsiToolExe)' == ''">$([System.IO.Path]::GetFileName($(DOTNET_HOST_PATH)))</FsiToolExe>
    <DotnetFsiCompilerPath Condition="'$(DotnetFscCompilerPath)' == ''">"$(MSBuildThisFileDirectory)fsi.dll"</DotnetFsiCompilerPath>
  </PropertyGroup>

  <PropertyGroup Condition=" '$(ManagePackageVersionsCentrally)' == 'true' ">
    <DisableImplicitSystemValueTupleReference Condition="'$(DisableImplicitSystemValueTupleReference)' == ''">true</DisableImplicitSystemValueTupleReference>
    <DisableImplicitFSharpCoreReference Condition="'$(DisableImplicitFSharpCoreReference)' == ''">true</DisableImplicitFSharpCoreReference>
  </PropertyGroup>

  <ItemGroup Condition="'$(DisableImplicitSystemValueTupleReference)' != 'true'

                        and ('$(TargetFrameworkIdentifier)' == '.NETStandard' or '$(TargetFrameworkIdentifier)' == '.NETCoreApp')

                        and !('$(_TargetFrameworkVersionWithoutV)' >= '2.0' )">
    <PackageReference Include="System.ValueTuple" Version="$(ValueTupleImplicitPackageVersion)" />
  </ItemGroup>

  <Import Project="Microsoft.FSharp.Core.NetSdk.props" />                       <!-- Sets initial value of FSharp.Core -->

  <PropertyGroup>
    <ValueTupleImplicitPackageVersion>4.4.0</ValueTupleImplicitPackageVersion>
  </PropertyGroup>

  <ItemGroup>

    <PackageReference

        Include="FSharp.Core" Version="$(FSharpCoreImplicitPackageVersion)"

        Condition="'$(DisableImplicitFSharpCoreReference)' != 'true' and '$(FSharpCoreImplicitPackageVersion)' != ''">
      <ExcludeAssets Condition="'$(FSharpCoreIncludeDocFileInOutput)' != 'true'">contentFiles</ExcludeAssets>
    </PackageReference>

    <PackageReference

        Include="FSharp.Core" Version="$(FSCorePackageVersion)"

        Condition="'$(DisableImplicitFSharpCoreReference)' != 'true' and '$(FSharpCoreImplicitPackageVersion)' == ''">
      <ExcludeAssets Condition="'$(FSharpCoreIncludeDocFileInOutput)' != 'true'">contentFiles</ExcludeAssets>
    </PackageReference>

  </ItemGroup>

  <ItemGroup Condition="'$(DisableImplicitSystemValueTupleReference)' != 'true'

                        and ('$(TargetFrameworkIdentifier)' == '.NETFramework'

                             and ('$(_TargetFrameworkVersionWithoutV)' == ''

                                  or '$(_TargetFrameworkVersionWithoutV)' == '4.0' or

                                     '$(_TargetFrameworkVersionWithoutV)' == '4.5' or

                                     '$(_TargetFrameworkVersionWithoutV)' == '4.5.1' or

                                     '$(_TargetFrameworkVersionWithoutV)' == '4.5.2' or

                                     '$(_TargetFrameworkVersionWithoutV)' == '4.6' or

                                     '$(_TargetFrameworkVersionWithoutV)' == '4.6.1' or

                                     '$(_TargetFrameworkVersionWithoutV)' == '4.6.2' or

                                     '$(_TargetFrameworkVersionWithoutV)' == '4.7')) ">
    <PackageReference Include="System.ValueTuple" Version="$(ValueTupleImplicitPackageVersion)" />
  </ItemGroup>

  <ItemDefinitionGroup>
    <PackageReference>
      <GeneratePathProperty>true</GeneratePathProperty>
    </PackageReference>
  </ItemDefinitionGroup>

</Project>