diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md
index b4786b121f..90332dcbeb 100644
--- a/RELEASE_NOTES.md
+++ b/RELEASE_NOTES.md
@@ -1,9 +1,12 @@
-#### 4.0.0-alpha037 - 20.12.2016
+#### 4.0.0-alpha038 - 20.12.2016
* Make Paket compatible with DotNet SDK preview3
* Tail Recursive Package Resolution - https://github.com/fsprojects/Paket/pull/2066
* Reorganized resolver - https://github.com/fsprojects/Paket/pull/2039
* USABILITY: Added option to have paket restore fail on check failure - https://github.com/fsprojects/Paket/pull/1963
+#### 3.31.6 - 20.12.2016
+* BUGFIX: If we have ref and lib files then we prefer lib
+
#### 3.31.5 - 19.12.2016
* BUGFIX: Don't remove group with only remote files - https://github.com/fsprojects/Paket/pull/2089
* BUGFI: Fix displayed package name for packages found in another group - https://github.com/fsprojects/Paket/pull/2088
diff --git a/src/Paket.Bootstrapper/Properties/AssemblyInfo.cs b/src/Paket.Bootstrapper/Properties/AssemblyInfo.cs
index 97954de68d..f943e7bfe2 100644
--- a/src/Paket.Bootstrapper/Properties/AssemblyInfo.cs
+++ b/src/Paket.Bootstrapper/Properties/AssemblyInfo.cs
@@ -4,16 +4,16 @@
[assembly: AssemblyTitleAttribute("Paket.Bootstrapper")]
[assembly: AssemblyProductAttribute("Paket")]
[assembly: AssemblyDescriptionAttribute("A dependency manager for .NET with support for NuGet packages and git repositories.")]
-[assembly: AssemblyVersionAttribute("4.0.0")]
-[assembly: AssemblyFileVersionAttribute("4.0.0")]
-[assembly: AssemblyInformationalVersionAttribute("4.0.0-alpha037")]
+[assembly: AssemblyVersionAttribute("3.31.6")]
+[assembly: AssemblyFileVersionAttribute("3.31.6")]
+[assembly: AssemblyInformationalVersionAttribute("3.31.6")]
namespace System {
internal static class AssemblyVersionInformation {
internal const System.String AssemblyTitle = "Paket.Bootstrapper";
internal const System.String AssemblyProduct = "Paket";
internal const System.String AssemblyDescription = "A dependency manager for .NET with support for NuGet packages and git repositories.";
- internal const System.String AssemblyVersion = "4.0.0";
- internal const System.String AssemblyFileVersion = "4.0.0";
- internal const System.String AssemblyInformationalVersion = "4.0.0-alpha037";
+ internal const System.String AssemblyVersion = "3.31.6";
+ internal const System.String AssemblyFileVersion = "3.31.6";
+ internal const System.String AssemblyInformationalVersion = "3.31.6";
}
}
diff --git a/src/Paket.Core/InstallModel.fs b/src/Paket.Core/InstallModel.fs
index 4453533a30..971d041e7f 100644
--- a/src/Paket.Core/InstallModel.fs
+++ b/src/Paket.Core/InstallModel.fs
@@ -138,10 +138,14 @@ module InstallModel =
Analyzers = []
LicenseUrl = None }
- let getReferenceFolders (installModel: InstallModel) =
- if installModel.NewReferenceFileFolders.IsEmpty then
- installModel.LegacyReferenceFileFolders
- else installModel.NewReferenceFileFolders
+ let getReferenceFolders (installModel: InstallModel) =
+ installModel.LegacyReferenceFileFolders @
+ (installModel.NewReferenceFileFolders
+ |> List.choose (fun r ->
+ match installModel.LegacyReferenceFileFolders |> List.tryFind (fun r2 -> r2.Targets = r.Targets) with
+ | None -> Some r
+ | _ -> None))
+
let extractRefFolder packageName (path:string) =
let path = path.Replace("\\", "/").ToLower()
@@ -420,7 +424,7 @@ type InstallModel with
static member EmptyModel (packageName, packageVersion) = InstallModel.emptyModel packageName packageVersion
- member this.GetReferenceFolders () = InstallModel.getReferenceFolders this
+ member this.GetReferenceFolders() = InstallModel.getReferenceFolders this
member this.MapFolders mapfn = InstallModel.mapFolders mapfn this
@@ -449,8 +453,6 @@ type InstallModel with
member this.AddTargetsFile(path, file) = InstallModel.addTargetsFile path file this
member this.AddTargetsFiles targetsFiles = InstallModel.addTargetsFiles targetsFiles this
-
- //member this.AddPackageFile (path, file, references) = InstallModel.addPackageFile path file references this
member this.AddFrameworkAssemblyReference reference = InstallModel.addFrameworkAssemblyReference this reference
diff --git a/src/Paket.Core/PlatformMatching.fs b/src/Paket.Core/PlatformMatching.fs
index 9742719fd5..cfca3afcc2 100644
--- a/src/Paket.Core/PlatformMatching.fs
+++ b/src/Paket.Core/PlatformMatching.fs
@@ -107,7 +107,7 @@ let platformsSupport =
let findBestMatch =
- let rec findBestMatch (paths : string list,targetProfile : TargetProfile) =
+ let rec findBestMatch (paths : string list, targetProfile : TargetProfile) =
let requiredPlatforms =
match targetProfile with
| PortableProfile(_, platforms) -> platforms
@@ -140,7 +140,7 @@ let findBestMatch =
None
| _ -> None)
|> List.distinct
- |> List.sortBy (fun (x, pen) -> pen, (extractPlatforms x).Length) // prefer portable platform whith less platforms
+ |> List.sortBy (fun (x, pen) -> pen, (extractPlatforms x).Length) // prefer portable platform with less platforms
|> List.map fst
|> List.tryHead
| path -> path
diff --git a/src/Paket/Paket.fsproj b/src/Paket/Paket.fsproj
index cfbccd79ec..44fb45a002 100644
--- a/src/Paket/Paket.fsproj
+++ b/src/Paket/Paket.fsproj
@@ -61,6 +61,8 @@
D:\temp\IconPacksTestApp\src
update
D:\temp\unlisted
+ install
+ D:\temp\PaketWithProblem1
11
diff --git a/tests/Paket.Tests/InstallModel/ProcessingSpecs.fs b/tests/Paket.Tests/InstallModel/ProcessingSpecs.fs
index f66d69398c..2242a5b81a 100644
--- a/tests/Paket.Tests/InstallModel/ProcessingSpecs.fs
+++ b/tests/Paket.Tests/InstallModel/ProcessingSpecs.fs
@@ -71,13 +71,13 @@ let ``should understand reference folder``() =
let refs = model.GetLibReferences(SinglePlatform (DotNetStandard DotNetStandardVersion.V1_6))
refs |> shouldNotContain @"..\System.Security.Cryptography.Algorithms\runtimes\win\lib\net46\System.Security.Cryptography.Algorithms.dll"
- refs |> shouldNotContain @"..\System.Security.Cryptography.Algorithms\lib\netstandard1.6\System.Security.Cryptography.Algorithms.dll"
- refs |> shouldContain @"..\System.Security.Cryptography.Algorithms\ref\netstandard1.6\System.Security.Cryptography.Algorithms.dll"
+ refs |> shouldContain @"..\System.Security.Cryptography.Algorithms\lib\netstandard1.6\System.Security.Cryptography.Algorithms.dll"
+ refs |> shouldNotContain @"..\System.Security.Cryptography.Algorithms\ref\netstandard1.6\System.Security.Cryptography.Algorithms.dll"
let refs = model.GetLibReferences(SinglePlatform (DotNetFramework FrameworkVersion.V4_6_3))
refs |> shouldNotContain @"..\System.Security.Cryptography.Algorithms\runtimes\win\lib\net46\System.Security.Cryptography.Algorithms.dll"
- refs |> shouldNotContain @"..\System.Security.Cryptography.Algorithms\lib\netstandard1.6\System.Security.Cryptography.Algorithms.dll"
- refs |> shouldContain @"..\System.Security.Cryptography.Algorithms\ref\netstandard1.6\System.Security.Cryptography.Algorithms.dll"
+ refs |> shouldContain @"..\System.Security.Cryptography.Algorithms\lib\netstandard1.6\System.Security.Cryptography.Algorithms.dll"
+ refs |> shouldNotContain @"..\System.Security.Cryptography.Algorithms\ref\netstandard1.6\System.Security.Cryptography.Algorithms.dll"
[]
let ``should understand aot in runtimes``() =
diff --git a/tests/Paket.Tests/InstallModel/Xml/System.Security.Cryptography.Algorithms.fs b/tests/Paket.Tests/InstallModel/Xml/System.Security.Cryptography.Algorithms.fs
index cc1ec4a906..92fa7d18ff 100644
--- a/tests/Paket.Tests/InstallModel/Xml/System.Security.Cryptography.Algorithms.fs
+++ b/tests/Paket.Tests/InstallModel/Xml/System.Security.Cryptography.Algorithms.fs
@@ -11,8 +11,8 @@ let expected = """
- ..\..\..\System.Security.Cryptography.Algorithms\ref\net46\System.Security.Cryptography.Algorithms.dll
- False
+ ..\..\..\System.Security.Cryptography.Algorithms\lib\net46\System.Security.Cryptography.Algorithms.dll
+ True
True
@@ -20,8 +20,8 @@ let expected = """
- ..\..\..\System.Security.Cryptography.Algorithms\ref\net461\System.Security.Cryptography.Algorithms.dll
- False
+ ..\..\..\System.Security.Cryptography.Algorithms\lib\net461\System.Security.Cryptography.Algorithms.dll
+ True
True
@@ -29,8 +29,8 @@ let expected = """
- ..\..\..\System.Security.Cryptography.Algorithms\ref\net463\System.Security.Cryptography.Algorithms.dll
- False
+ ..\..\..\System.Security.Cryptography.Algorithms\lib\net463\System.Security.Cryptography.Algorithms.dll
+ True
True