1 <!-- Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. -->
4 ***********************************************************************************************
5 Microsoft.FSharp.NetSdk.targets
7 WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
8 created a backup copy. Incorrect changes to this file will make it
9 impossible to load or build your projects from the command-line or the IDE.
11 ***********************************************************************************************
14 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
17 <MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
21 <AlwaysUseNumericalSuffixInItemNames>true</AlwaysUseNumericalSuffixInItemNames>
22 <DefineCommonItemSchemas Condition=" '$(DefineCommonItemSchemas)' == '' ">true</DefineCommonItemSchemas>
23 <DefineCommonReferenceSchemas Condition=" '$(DefineCommonReferenceSchemas)' == '' ">true</DefineCommonReferenceSchemas>
24 <DefineCommonCapabilities Condition=" '$(DefineCommonCapabilities)' == '' ">true</DefineCommonCapabilities>
27 <ItemGroup Condition="'$(_DebugSymbolsProduced)' == 'true' and '$(PdbFile)' != ''">
28 <_DebugSymbolsIntermediatePathTemporary Include="$(PdbFile)"/>
29 <!-- Add any missing .pdb extension, as the compiler does -->
30 <_DebugSymbolsIntermediatePath Include="@(_DebugSymbolsIntermediatePathTemporary->'%(RootDir)%(Directory)%(Filename).pdb')"/>
33 <!-- Locate and add mscorlib, unless NoStdLib is set -->
35 <_ExplicitReference Include="$(FrameworkPathOverride)\mscorlib.dll" Condition=" '$(NoStdLib)' != 'true' " />
39 <_TargetFrameworkVersionWithoutV>$(TargetFrameworkVersion)</_TargetFrameworkVersionWithoutV>
40 <_TargetFrameworkVersionWithoutV Condition="$(TargetFrameworkVersion.StartsWith('v'))">$(TargetFrameworkVersion.Substring(1))</_TargetFrameworkVersionWithoutV>
44 <TargetProfile Condition=" '$(TargetFrameworkIdentifier)' == '.NETFramework' " >mscorlib</TargetProfile>
45 <TargetProfile Condition=" '$(TargetFrameworkIdentifier)' != '.NETFramework' " >netcore</TargetProfile>
46 <TargetProfile Condition=" '$(TargetFrameworkIdentifier)' == '.NETStandard' and '$(_TargetFrameworkVersionWithoutV)' >= '2.0' " >netstandard</TargetProfile>
47 <OtherFlags>$(OtherFlags) --simpleresolution --nocopyfsharpcore</OtherFlags>
50 <Import Project="Microsoft.FSharp.Targets" />
52 <PropertyGroup Condition="'$(PackProjectInputFile)' == ''">
53 <PackProjectInputFile>$(MSBuildProjectFullPath)</PackProjectInputFile>
56 <PropertyGroup Condition=" '$(FSharpCoreImplicitPackageVersion)' == '' ">
57 <FSharpCoreImplicitPackageVersion>4.2.*</FSharpCoreImplicitPackageVersion>
60 <PropertyGroup Condition=" '$(DisableImplicitSystemValueTupleReference)' != 'true' ">
61 <_FrameworkNeedsValueTupleReference Condition=" ('$(TargetFrameworkIdentifier)' == '.NETStandard' or '$(TargetFrameworkIdentifier)' == '.NETCoreApp') and !('$(_TargetFrameworkVersionWithoutV)' >= '2.0') ">true</_FrameworkNeedsValueTupleReference>
62 <_FrameworkNeedsValueTupleReference Condition=" '$(TargetFrameworkIdentifier)' == '.NETFramework' and
63 ('$(_TargetFrameworkVersionWithoutV)' == '4.0' or
64 '$(_TargetFrameworkVersionWithoutV)' == '4.5' or
65 '$(_TargetFrameworkVersionWithoutV)' == '4.6' or
66 '$(_TargetFrameworkVersionWithoutV)' == '4.6.1' or
67 '$(_TargetFrameworkVersionWithoutV)' == '4.6.2' or
68 '$(_TargetFrameworkVersionWithoutV)' == '4.7') ">true</_FrameworkNeedsValueTupleReference>
72 <PackageReference Include="System.ValueTuple" Version="4.*" Condition=" '$(DisableImplicitSystemValueTupleReference)' != 'true' and '$(_FrameworkNeedsValueTupleReference)' == 'true' "></PackageReference>
73 <PackageReference Include="FSharp.Core" Version="$(FSharpCoreImplicitPackageVersion)" Condition=" '$(DisableImplicitFSharpCoreReference)' != 'true' "></PackageReference>