Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Framework fixes #2250

Merged
merged 10 commits into from
Apr 17, 2017
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 9 additions & 2 deletions Paket.sln
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
VisualStudioVersion = 12.0.31101.0
# Visual Studio 14
VisualStudioVersion = 14.0.25420.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "docs", "docs", "{A6A6AF7D-D6E3-442D-9B1E-58CC91879BE1}"
EndProject
Expand Down Expand Up @@ -89,6 +89,13 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Paket.Bootstrapper.Tests",
EndProject
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Paket.IntegrationTests", "integrationtests\Paket.IntegrationTests\Paket.IntegrationTests.fsproj", "{7234B9B4-8CF5-4E68-AA29-050C087B9246}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".paket", ".paket", "{29E6EF21-D8C8-495D-84C7-7A6416C1E25F}"
ProjectSection(SolutionItems) = preProject
.paket\paket.exe.config = .paket\paket.exe.config
.paket\Paket.Restore.targets = .paket\Paket.Restore.targets
.paket\paket.targets = .paket\paket.targets
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Expand Down
5 changes: 4 additions & 1 deletion build.fsx
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,10 @@ Target "InstallDotNetCore" (fun _ ->
// Clean build results

Target "Clean" (fun _ ->
CleanDirs [buildDir; tempDir]
!! "src/**/obj"
++ buildDir
++ tempDir
|> CleanDirs
)

Target "CleanDocs" (fun _ ->
Expand Down
177 changes: 150 additions & 27 deletions src/Paket.Core/FrameworkHandling.fs
Original file line number Diff line number Diff line change
Expand Up @@ -22,25 +22,73 @@ type FrameworkVersion =
| V4_6_1
| V4_6_2
| V4_6_3
| V4_7
| V5_0
member private self.NumKey =
match self with
| V1 -> 0
| V1_1 -> 1
| V2 -> 2
| V3 -> 3
| V3_5 -> 4
| V4_Client -> 5
| V4 -> 6
| V4_5 -> 7
| V4_5_1 -> 8
| V4_5_2 -> 9
| V4_5_3 -> 10
| V4_6 -> 11
| V4_6_1 -> 12
| V4_6_2 -> 13
| V4_6_3 -> 14
| V4_7 -> 15
| V5_0 -> 16
static member private FromNum num =
match num with
| 0 -> V1
| 1 -> V1_1
| 2 -> V2
| 3 -> V3
| 4 -> V3_5
| 5 -> V4_Client
| 6 -> V4
| 7 -> V4_5
| 8 -> V4_5_1
| 9 -> V4_5_2
| 10 -> V4_5_3
| 11 -> V4_6
| 12 -> V4_6_1
| 13 -> V4_6_2
| 14 -> V4_6_3
| 15 -> V4_7
| 16 -> V5_0
| _ -> failwithf "'%i' has no corresponding framework version" num

static member (<->) (lower:FrameworkVersion,upper:FrameworkVersion) =
if lower.NumKey < upper.NumKey then
[ lower.NumKey .. upper.NumKey ] |> List.map FrameworkVersion.FromNum
else
[ lower.NumKey .. -1 .. upper.NumKey ] |> List.map FrameworkVersion.FromNum

override this.ToString() =
match this with
| V1 -> "v1.0"
| V1_1 -> "v1.1"
| V2 -> "v2.0"
| V3 -> "v3.0"
| V3_5 -> "v3.5"
| V1 -> "v1.0"
| V1_1 -> "v1.1"
| V2 -> "v2.0"
| V3 -> "v3.0"
| V3_5 -> "v3.5"
| V4_Client -> "v4.0"
| V4 -> "v4.0"
| V4_5 -> "v4.5"
| V4_5_1 -> "v4.5.1"
| V4_5_2 -> "v4.5.2"
| V4_5_3 -> "v4.5.3"
| V4_6 -> "v4.6"
| V4_6_1 -> "v4.6.1"
| V4_6_2 -> "v4.6.2"
| V4_6_3 -> "v4.6.3"
| V5_0 -> "v5.0"
| V4 -> "v4.0"
| V4_5 -> "v4.5"
| V4_5_1 -> "v4.5.1"
| V4_5_2 -> "v4.5.2"
| V4_5_3 -> "v4.5.3"
| V4_6 -> "v4.6"
| V4_6_1 -> "v4.6.1"
| V4_6_2 -> "v4.6.2"
| V4_6_3 -> "v4.6.3"
| V4_7 -> "v4.7"
| V5_0 -> "v5.0"

member this.ShortString() =
match this with
Expand All @@ -59,6 +107,7 @@ type FrameworkVersion =
| FrameworkVersion.V4_6_1 -> "461"
| FrameworkVersion.V4_6_2 -> "462"
| FrameworkVersion.V4_6_3 -> "463"
| FrameworkVersion.V4_7 -> "47"
| FrameworkVersion.V5_0 -> "50"

[<RequireQualifiedAccess>]
Expand All @@ -72,6 +121,35 @@ type DotNetStandardVersion =
| V1_4
| V1_5
| V1_6
| V2_0
member private this.NumKey =
match this with
| V1_0 -> 0
| V1_1 -> 1
| V1_2 -> 2
| V1_3 -> 3
| V1_4 -> 4
| V1_5 -> 5
| V1_6 -> 6
| V2_0 -> 7
static member private FromNum num =
match num with
| 0 -> V1_0
| 1 -> V1_1
| 2 -> V1_2
| 3 -> V1_3
| 4 -> V1_4
| 5 -> V1_5
| 6 -> V1_6
| 7 -> V2_0
| _ -> failwithf "'%i' has no corresponding framework version" num

static member (<->) (lower:DotNetStandardVersion,upper:DotNetStandardVersion) =
if lower.NumKey < upper.NumKey then
[ lower.NumKey .. upper.NumKey ] |> List.map DotNetStandardVersion.FromNum
else
[ lower.NumKey .. -1 .. upper.NumKey ] |> List.map DotNetStandardVersion.FromNum

override this.ToString() =
match this with
| V1_0 -> "v1.0"
Expand All @@ -81,7 +159,7 @@ type DotNetStandardVersion =
| V1_4 -> "v1.4"
| V1_5 -> "v1.5"
| V1_6 -> "v1.6"

| V2_0 -> "v2.0"
member this.ShortString() =
match this with
| DotNetStandardVersion.V1_0 -> "10"
Expand All @@ -91,6 +169,7 @@ type DotNetStandardVersion =
| DotNetStandardVersion.V1_4 -> "14"
| DotNetStandardVersion.V1_5 -> "15"
| DotNetStandardVersion.V1_6 -> "16"
| DotNetStandardVersion.V2_0 -> "20"

[<RequireQualifiedAccess>]
/// The UAP version.
Expand All @@ -112,15 +191,33 @@ type UAPVersion =
type DotNetCoreVersion =
| V1_0
| V1_1
| V2_0
member private this.NumKey =
match this with
| V1_0 -> 0
| V1_1 -> 1
| V2_0 -> 2
static member private FromNum num =
match num with
| 0 -> V1_0
| 1 -> V1_1
| 2 -> V2_0
| _ -> failwithf "'%i' has no corresponding framework version" num
static member (<->) (lower:DotNetCoreVersion,upper:DotNetCoreVersion) =
if lower.NumKey < upper.NumKey then
[ lower.NumKey .. upper.NumKey ] |> List.map DotNetCoreVersion.FromNum
else
[ lower.NumKey .. -1 .. upper.NumKey ] |> List.map DotNetCoreVersion.FromNum
override this.ToString() =
match this with
| V1_0 -> "v1.0"
| V1_1 -> "v1.1"

| V2_0 -> "v2.0"
member this.ShortString() =
match this with
| DotNetCoreVersion.V1_0 -> "10"
| DotNetCoreVersion.V1_1 -> "11"
| DotNetCoreVersion.V2_0 -> "20"

module KnownAliases =
let Data =
Expand Down Expand Up @@ -185,6 +282,20 @@ type FrameworkIdentifier =
| WindowsPhoneApp v -> "wpa" + v
| Silverlight v -> "sl" + v.Replace("v","").Replace(".","")

member private x.CompatibleUpto (?topFramework, ?topStandard, ?topCore) =
[ match topFramework with
| None -> () | Some framework -> yield! framework <-> FrameworkVersion.V1 |> List.map DotNetFramework
match topStandard with
| None -> () | Some standard -> yield! standard <-> DotNetStandardVersion.V1_0 |> List.map DotNetStandard
match topCore with
| None -> () | Some core -> yield! core <-> DotNetCoreVersion.V1_0 |> List.map DotNetCore
]

member private x.CompatibleUpto (topStandard) =
[ yield! topStandard <-> DotNetStandardVersion.V1_0 |> List.map DotNetStandard ]

member private x.CompatibleUpto (topCore) =
[ yield! topCore <-> DotNetCoreVersion.V1_0 |> List.map DotNetCore ]

// returns a list of compatible platforms that this platform also supports
member x.SupportedPlatforms =
Expand All @@ -209,9 +320,10 @@ type FrameworkIdentifier =
| DotNetFramework FrameworkVersion.V4_5_2 -> [ DotNetFramework FrameworkVersion.V4_5_1; DotNetStandard DotNetStandardVersion.V1_2 ]
| DotNetFramework FrameworkVersion.V4_5_3 -> [ DotNetFramework FrameworkVersion.V4_5_2; DotNetStandard DotNetStandardVersion.V1_2 ]
| DotNetFramework FrameworkVersion.V4_6 -> [ DotNetFramework FrameworkVersion.V4_5_3; DotNetStandard DotNetStandardVersion.V1_3 ]
| DotNetFramework FrameworkVersion.V4_6_1 -> [ DotNetFramework FrameworkVersion.V4_6; DotNetStandard DotNetStandardVersion.V1_4 ]
| DotNetFramework FrameworkVersion.V4_6_1 -> [ DotNetFramework FrameworkVersion.V4_6; DotNetStandard DotNetStandardVersion.V1_4; DotNetStandard DotNetStandardVersion.V2_0 ]
| DotNetFramework FrameworkVersion.V4_6_2 -> [ DotNetFramework FrameworkVersion.V4_6_1; DotNetStandard DotNetStandardVersion.V1_5 ]
| DotNetFramework FrameworkVersion.V4_6_3 -> [ DotNetFramework FrameworkVersion.V4_6_2; DotNetStandard DotNetStandardVersion.V1_6 ]
| DotNetFramework FrameworkVersion.V4_7 -> [ DotNetFramework FrameworkVersion.V4_6_3; DotNetStandard DotNetStandardVersion.V2_0 ]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be enough, why is the above needed?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i wasn't really sure what was working an what wasn't so I tried something more explicit, especially since the compatibility doesn't increase linearly, it drops back down to 4.6.1 for netstandard 2.0 after 1.5 was compatible with 4.6.2

It's probably not necessary though...

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tbh I'd prefer the explicit list to be removed. Otherwise we have two places doing exactly the same. This part is already hard enough to understand :)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll leave the rest to you then 😉

| DotNetFramework FrameworkVersion.V5_0 -> [ DotNetFramework FrameworkVersion.V4_6_2; DotNetStandard DotNetStandardVersion.V1_5 ]
| DNX _ -> [ ]
| DNXCore _ -> [ ]
Expand All @@ -222,8 +334,10 @@ type FrameworkIdentifier =
| DotNetStandard DotNetStandardVersion.V1_4 -> [ DotNetStandard DotNetStandardVersion.V1_3 ]
| DotNetStandard DotNetStandardVersion.V1_5 -> [ DotNetStandard DotNetStandardVersion.V1_4 ]
| DotNetStandard DotNetStandardVersion.V1_6 -> [ DotNetStandard DotNetStandardVersion.V1_5 ]
| DotNetStandard DotNetStandardVersion.V2_0 -> [ DotNetStandard DotNetStandardVersion.V1_6 ]
| DotNetCore DotNetCoreVersion.V1_0 -> [ DotNetStandard DotNetStandardVersion.V1_6 ]
| DotNetCore DotNetCoreVersion.V1_1 -> [ DotNetCore DotNetCoreVersion.V1_0 ]
| DotNetCore DotNetCoreVersion.V2_0 -> [ DotNetCore DotNetCoreVersion.V1_1; DotNetStandard DotNetStandardVersion.V2_0 ]
| Silverlight "v3.0" -> [ ]
| Silverlight "v4.0" -> [ Silverlight "v3.0" ]
| Silverlight "v5.0" -> [ Silverlight "v4.0" ]
Expand All @@ -240,7 +354,6 @@ type FrameworkIdentifier =
| Windows _ -> [ Windows "v4.5.1" ]
| WindowsPhoneApp _ -> [ WindowsPhoneApp "v8.1" ]
| WindowsPhoneSilverlight _ -> [ WindowsPhoneSilverlight "v8.1" ]

/// Return if the parameter is of the same framework category (dotnet, windows phone, silverlight, ...)
member x.IsSameCategoryAs y =
match (x, y) with
Expand Down Expand Up @@ -330,6 +443,7 @@ module FrameworkDetection =
| "net461" -> Some (DotNetFramework FrameworkVersion.V4_6_1)
| "net462" -> Some (DotNetFramework FrameworkVersion.V4_6_2)
| "net463" -> Some (DotNetFramework FrameworkVersion.V4_6_3)
| "net47" -> Some (DotNetFramework FrameworkVersion.V4_7)
| "uap100" -> Some (UAP UAPVersion.V10)
| "monotouch" | "monotouch10" | "monotouch1" -> Some MonoTouch
| "monoandroid" | "monoandroid10" | "monoandroid1" | "monoandroid22" | "monoandroid23" | "monoandroid44" | "monoandroid403" | "monoandroid43" | "monoandroid41" | "monoandroid50" | "monoandroid60" | "monoandroid70" -> Some MonoAndroid
Expand Down Expand Up @@ -365,8 +479,10 @@ module FrameworkDetection =
| "netstandard14" -> Some(DotNetStandard DotNetStandardVersion.V1_4)
| "netstandard15" -> Some(DotNetStandard DotNetStandardVersion.V1_5)
| "netstandard16" -> Some(DotNetStandard DotNetStandardVersion.V1_6)
| "netstandard20" -> Some(DotNetStandard DotNetStandardVersion.V2_0)
| "netcore10" -> Some (DotNetCore DotNetCoreVersion.V1_0)
| "netcore11" -> Some (DotNetCore DotNetCoreVersion.V1_1)
| "netcore20" -> Some (DotNetCore DotNetCoreVersion.V2_0)
| v when v.StartsWith "netstandard" -> Some(DotNetStandard DotNetStandardVersion.V1_6)
| _ -> None
result)
Expand Down Expand Up @@ -466,8 +582,8 @@ type TargetProfile =
| _ -> "portable-net45+netcore45+wpa81+wp8+MonoAndroid1+MonoTouch1" // Use Portable259 as default

module KnownTargetProfiles =
let DotNetFrameworkVersions =
[FrameworkVersion.V1
let DotNetFrameworkVersions = [
FrameworkVersion.V1
FrameworkVersion.V1_1
FrameworkVersion.V2
FrameworkVersion.V3
Expand All @@ -481,7 +597,9 @@ module KnownTargetProfiles =
FrameworkVersion.V4_6
FrameworkVersion.V4_6_1
FrameworkVersion.V4_6_2
FrameworkVersion.V4_6_3]
FrameworkVersion.V4_6_3
FrameworkVersion.V4_7
]

let DotNetFrameworkIdentifiers =
DotNetFrameworkVersions
Expand All @@ -491,22 +609,27 @@ module KnownTargetProfiles =
DotNetFrameworkIdentifiers
|> List.map SinglePlatform

let DotNetStandardVersions =
[DotNetStandardVersion.V1_0
let DotNetStandardVersions = [
DotNetStandardVersion.V1_0
DotNetStandardVersion.V1_1
DotNetStandardVersion.V1_2
DotNetStandardVersion.V1_3
DotNetStandardVersion.V1_4
DotNetStandardVersion.V1_5
DotNetStandardVersion.V1_6]
DotNetStandardVersion.V1_6
DotNetStandardVersion.V2_0
]


let DotNetStandardProfiles =
DotNetStandardVersions
|> List.map (DotNetStandard >> SinglePlatform)

let DotNetCoreVersions =
[DotNetCoreVersion.V1_0 ]
let DotNetCoreVersions = [
DotNetCoreVersion.V1_0
DotNetCoreVersion.V1_1
DotNetCoreVersion.V2_0
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will this really be 2.0?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Interesting decision

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks :)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I started out on this trying to fix #2245, but I haven't managed to figure it out yet. Any ideas?

]

let DotNetCoreProfiles =
DotNetCoreVersions
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ open Paket.Requirements

let expected = """
<Choose xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.0' Or $(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')">
<When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.0' Or $(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3' Or $(TargetFrameworkVersion) == 'v4.7')">
<ItemGroup>
<Reference Include="System.Data">
<Paket>True</Paket>
Expand Down
4 changes: 2 additions & 2 deletions tests/Paket.Tests/InstallModel/Xml/LibGit2Sharp.fs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ open Paket.Requirements

let expectedReferenceNodes = """<?xml version="1.0" encoding="utf-16"?>
<Choose xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.0' Or $(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')">
<When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.0' Or $(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3' Or $(TargetFrameworkVersion) == 'v4.7')">
<ItemGroup>
<Reference Include="LibGit2Sharp">
<HintPath>..\..\..\LibGit2Sharp\lib\net40\LibGit2Sharp.dll</HintPath>
Expand All @@ -22,7 +22,7 @@ let expectedReferenceNodes = """<?xml version="1.0" encoding="utf-16"?>

let expectedPropertyDefinitionNodes = """<?xml version="1.0" encoding="utf-16"?>
<Choose xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.0' Or $(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')">
<When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.0' Or $(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3' Or $(TargetFrameworkVersion) == 'v4.7')">
<PropertyGroup>
<__paket__LibGit2Sharp_props>net40\LibGit2Sharp</__paket__LibGit2Sharp_props>
</PropertyGroup>
Expand Down
2 changes: 1 addition & 1 deletion tests/Paket.Tests/InstallModel/Xml/Plossum.fs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ open Paket.Requirements

let expected = """
<Choose xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.0' Or $(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')">
<When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.0' Or $(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3' Or $(TargetFrameworkVersion) == 'v4.7')">
<ItemGroup>
<Reference Include="Plossum CommandLine">
<HintPath>..\..\..\Plossum.CommandLine\lib\net40\Plossum CommandLine.dll</HintPath>
Expand Down
Loading