Skip to content
Merged
Show file tree
Hide file tree
Changes from all 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
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,11 @@
<Choose>
<When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.0'">
<ItemGroup>
<Reference Include="System.Net.Http">
<HintPath>..\packages\Microsoft.Net.Http\lib\net40\System.Net.Http.dll</HintPath>
<Private>True</Private>
<Paket>True</Paket>
</Reference>
<Reference Include="System.Net.Http.Extensions">
<HintPath>..\packages\Microsoft.Net.Http\lib\net40\System.Net.Http.Extensions.dll</HintPath>
<Private>True</Private>
Expand Down
11 changes: 8 additions & 3 deletions src/Paket.Core/PaketConfigFiles/InstallModel.fs
Original file line number Diff line number Diff line change
Expand Up @@ -781,10 +781,13 @@ module InstallModel =
{ this with TargetsFileFolders = targetsFileFolders }
|> addItem targetsFiles getMsbuildFile (addTargetsFile) (fun i -> i.TargetsFileFolders)


let filterReferences (references:string Set) (this:InstallModel) =
let filterNonFrameworkReferences (references:string Set) (this:InstallModel) =
this
|> mapCompileLibReferences (Set.filter (fun reference -> Set.contains reference.Name references |> not))

let filterFrameworkReferences (references:string Set) (this:InstallModel) =
this
|> mapCompileLibFrameworkReferences (Set.filter (fun reference -> Set.contains reference.Name references |> not))

let addLicense url (model: InstallModel) =
Expand Down Expand Up @@ -920,7 +923,9 @@ type InstallModel with

member this.FilterExcludes excludes = InstallModel.filterExcludes excludes this

member this.FilterReferences(references) = InstallModel.filterReferences references this
member this.FilterNonFrameworkReferences(references) = InstallModel.filterNonFrameworkReferences references this

member this.FilterFrameworkReferences(references) = InstallModel.filterFrameworkReferences references this

member this.ApplyFrameworkRestrictions restrictions = InstallModel.applyFrameworkRestrictions restrictions this

Expand Down
8 changes: 7 additions & 1 deletion src/Paket.Core/PaketConfigFiles/ProjectFile.fs
Original file line number Diff line number Diff line change
Expand Up @@ -728,8 +728,14 @@ module ProjectFile =
getCustomReferenceAndFrameworkNodes project
|> List.map (fun node -> node.Attributes.["Include"].InnerText.Split(',').[0])
|> Set.ofList

// workaround for https://github.com/fsprojects/Paket/issues/2811
// * DO remove FW-References which are already referenced by the user
// * DO NOT remove package references, where the user already has a reference

//let model = model.FilterNonFrameworkReferences references
let model = model.FilterFrameworkReferences references

let model = model.FilterReferences references
let createItemGroup (targets:TargetProfile Set) (frameworkReferences:FrameworkReference list) (libraries:Library list) =
let itemGroup = createNode "ItemGroup" project

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,11 @@ let expected = """
<Private>True</Private>
<Paket>True</Paket>
</Reference>
<Reference Include="System.Net.Http.WebRequest">
<HintPath>..\..\..\Microsoft.Net.Http\lib\net40\System.Net.Http.WebRequest.dll</HintPath>
<Private>True</Private>
<Paket>True</Paket>
</Reference>
</ItemGroup>
</When>
<When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(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' Or $(TargetFrameworkVersion) == 'v4.7.1')">
Expand Down