EzDev.org

Paket

Paket - A dependency manager for .NET with support for NuGet packages and Git repositories. What is Paket? a dependency manager for .net with support for nuget packages and git repositories.


I'm getting 400 (Bad request) in nuget paket server when I do paket push

i have run this command

.\.paket\paket.exe push url "[ip]" file "bin" apikey "jenkins:jenkins" endpoint "/nuget/dev"

Im getting some thing

Pushing package bin to http://[ip]/nuget/dev - trial 1
Could not push bin: The remote server returned an error: (400) Bad Request.

but i can access the server through the browser. Where did I went wrong and How push my packages nuget server


Source: (StackOverflow)

How to use paket from command line

I installed paket from nuget in Nuget Package Manager Console with:

Install-Package paket

I then tried to run paket convert-from-nuget. It stalled out on a user prompt (it wouldn't let me type into the package manager console). My next thought was to run it from command line, but how to do so is not documented.

Just putting paket convert-from-nuget into a standard dev command prompt results in an error saying "paket" is not recognized.

How do I run paket from the command line or powershell, and how do you specify which solution to work against?


Source: (StackOverflow)

How can I reference in paket.references a file from a git repository?

I have a TFS git repository in my paket.dependencies file:

git http://mytfs1server:8080/tfs/2015Projects/_git/DEV-Commons

Withing that repository, there is a file "src/Tools.fs"

In the paket.references file, how do I tell Paket to add a reference to a file within that git repository so that Paket can add it to the fsproj file?


Source: (StackOverflow)

entityframework code-first migrations paket

The nuguet package for EntityFramework (6.1.3) installs some tools that you can execute from the nuget package manager console (like AddMigration, Update-Database, etc.). Those are available if you use nuget and the appropiate .ps files are loaded.

I'am resolving my project & solution dependencies with paket instead of nuget, so those commands are not available to me.

Are there any alternative to execute those scripts without having to go back to nuget?


Source: (StackOverflow)

Why Paket installs way more packages than Nuget?

Why Paket installs way more packages than Nuget by default? Is it normal behaviour or am I doing something wrong?

I followed Getting Started guide (but with the help of paket.powershell which I installed by choco install paket.powershell):

  • I made a new WPF project
  • Initialized Paket with Paket-Init command
  • Added nuget reactiveui to paket.dependencies file
  • Executed Paket-Install command to download packages

As a result I have the following in my packages folder:

reactiveui
reactiveui-core
Rx-Core
Rx-Interfaces
Rx-Linq
Rx-Main
Rx-PlatformServices
Rx-WindowStoreApps
Rx-WinRT
Rx-Xaml
Splat
System.Collections
System.Diagnostics.Debug
System.Diagnostics.Tools
System.IO
System.Linq
System.Linq.Expressions
System.ObjectModel
System.Reflection
System.Reflection.Extensions
System.Runtime
System.Runtime.Extensions
System.Runtime.InteropServices.WindowsRuntime
System.Runtime.Serialization.Primitives
System.Runtime.Serialization.Xml
System.Text.Encoding
System.Threading
System.Threading.Tasks

When using standard nuget-based Install-Package reactiveui from VS Package Manager Console, I have:

reactiveui-core.7.0.0
reactiveui.7.0.0
Rx-Core.2.2.5
Rx-Interfaces.2.2.5
Rx-Linq.2.2.5
Rx-Main.2.2.5
Rx-PlatformServices.2.2.5
Rx-XAML.2.2.5
Splat.1.6.0

1st outcome is very distracting with all those dependencies. Or is it how it is supposed to be? I feel I miss some additional restricting / confining parameters...


Source: (StackOverflow)

Using VSCode and Paket to add file to `.fsproj`

I'm using VSCode and Paket to add libraries from Nuget to an F# project/.fsproj file.

From VSCode, I use ctrl+shift+p and use the command Paket: Add Nuget Package (to current project) and enter

FsVerbalExpressions version 0.4.0

Unfortunately, Paket fails with the following error:

Paket version 3.23.2.0
Adding FsVerbaExpressions 0.4.0 to 
c:...\paket.dependencies into group Main
Resolving packages for group Main:
 - FsVerbaExpressions is pinned to 0.4.0
    Package not available.
      Message: Couldn't get package details for package FsVerbaExpressions 0.4.0 on https://www.nuget.org/api/v2.
Paket failed with:
    Could not find versions for package FsVerbaExpressions on https://www.nuget.org/api/v2.

I know that FsVerbalExpressions is available on Nuget. I need the older version because the project I'm working on is targeted at .NET 4.5 and the newer version of FsVerbalExpressions will only work with .NET 4.6.1.


Source: (StackOverflow)

Paket framework restriction differences

I have added Argu to my project and about 700MB of packages were downloaded together with it. This is related to Paket installs extra packages however I would like to undestand the subtle differences in specifiying the framework restrictions with >= or just framework: net46.

On my first try I just added Argu to the paket.dependencies file:

nuget Argu

As this resulted in a download of almost a GB of packages, I asked:

.\.paket\paket.exe why nuget System.Threading.Thread

And paket replied:

Paket version 3.27.02  
NuGet System.Threading.Thread is a transitive dependency.  
It's a part of following dependency chains:  

-> Argu
  -> FSharp.Core
    -> System.Threading.Thread

-> MathNet.Numerics.FSharp
  -> FSharp.Core
    -> System.Threading.Thread

0 seconds - ready.  

Then I added the following restriction to paket.dependencies:

nuget Argu framework: >= net46

However this resulted in downloading the same packages.

Finally I did:

nuget Argu framework: net46

And this specific restriction did indeed remove all the unneccassary packages:

Garbage collecting Microsoft.NETCore.Platforms
Garbage collecting Microsoft.Win32.Primitives
Garbage collecting NETStandard.Library
Garbage collecting System.AppContext
Garbage collecting System.Collections.Concurrent
...

However all my other dependencies are specified like this (mostly as a result, but not always, as I was troubleshooting the original issue):

source https://www.nuget.org/api/v2
nuget FAKE framework: >= net46
nuget FileHelpers framework: >= net46
nuget FSharp.Collections.ParallelSeq 1.0.2 framework: >= net46
nuget Fsharp.Data framework: >= net46 
nuget MathNet.Numerics.FSharp 3.14.0-beta01 beta framework: >= net46
nuget MathNet.Numerics.MKL.Win-x64 2.2.0 framework: >= net46
nuget NuGet.CommandLine framework: >= net46 
nuget Streams 0.4.1 framework: >= net46
nuget System.Linq.Dynamic 1.0.7 framework: >= net46
nuget Fsharp.Configuration framework: >= net46

So my question is Argu special in some way, or should I always use framework restrictions and specifically target 46 (or 45) instead of >=.


Source: (StackOverflow)

How to get correct resolution folder of F# Type Provider when referencing assemblies via #load?

I'm writing a type provider which allows the user to supply a configuration file to it. I use the TP's internal configuration object to identify the ResolutionFolder, which I use to get the fully-qualfied path to the config file. Great.

However, when working with scripts, I use Paket's auto-generated load scripts to load in my dependencies. The file path looks like this: -

.paket
   |--.load
   |     |-- net452
   |           |-- main.group.fsx
   |--src
       |-- myscript.fsx
       |-- config.json

myscript.fsx contains my script code. config.json contains the configuration for the type provider instance that I'll create in the script.

Inside myscript.fsx I call #load "..\.paket\.load\net452\main.group.fsx" to load in all dependencies (including my TP itself) which works fine.

HOWEVER

When I then try to initialise the type provider further down in the script: -

type MyTPInstance = MyTp<myConfig = "config.json">

I get an error which my TP catches and shows: -

The type provider reported an error: Unable to locate config file
"C:\Users\Isaac\Source\Repos\myRepo\.paket\load\net452\config.json"

In other words - it appears that because I've referenced my TP assembly from a script living in another folder, that's the folder that's used by FSI as the resolution folder - and NOT the folder of the script that's being run. I can prove this is the problem because if I copy the contents of the main.group.fsx into myscript.fsx directly and (fixing the path to my packages of course), it all works fine.

How can I fix this? How are other people getting around this?


Source: (StackOverflow)

RdKafka setup not finding/recognizing librdkafka in Visual Studio

Issue: RdKafka setup is not finding/recognizing librdkafka in Visual Studio 15

Context:
In order to get started with RdKafka in visual studio 15, I ran the generic paket+nuget setup command (via powershell): paket add nuget rdkafka
After this, I see RdKafka has been installed successfully in my solutions package location. I also see a librdkafka package present.
Adding RdKafka as a reference in my solution works as well (I can't add the librdkafka dlls due to an error message from the IDE).
However, trying to run anything using librdkafka leads to a library not found.

What I've tried:

  • Removing rdkafka completely and paket reinstalling/updating/restoring
  • Cleaning + re-building the solution in IDE
  • Moving the librdkafka package around/including it in path

All the above to no success

Any suggestions on how to proceed?


Source: (StackOverflow)

Why does Paket need three files to support dependency management?

I am a Java developer used to Maven and Gradle, now coming into .NET and trying to understand Paket. From my understanding, Paket has three different files supporting a .NET solution's dependency management:

  1. a root paket.dependencies file where you list your direct dependencies and versions.
  2. a project specific paket.references file where you list a subset of the dependencies that you've already listed in paket.dependencies.
  3. a paket.lock auto-generated file that lists all direct and transitive dependencies along with their versions.

With Maven and Gradle, I am used to specifying my dependencies in one file. I can specify exact versions, and be sure that subsequent downloads of the dependencies will be the same. Why does Paket need three files? I would expect that a paket.references file in each project would be sufficient. Is there some problem or quirk in .NET world in how dependencies are managed that I am ignorant of that this three files are needed?


Source: (StackOverflow)

How is the references created to fsc when building a F# project?

We have a F#-project that fails to build on teamctiy and can't figure out the solution to it. It seems like when building through teamcity the arguments to fsc is not correct for us. If I run msbuild /t:Rebuild /p:Configuration=Release manually on the same source it all work just fine.

I'll provide the content of the failing fsproj-file to show what I mean (it's not a large project):

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <SchemaVersion>2.0</SchemaVersion>
    <ProjectGuid>3e68783b-823c-4394-85cb-4a05aa3f3722</ProjectGuid>
    <OutputType>Library</OutputType>
    <RootNamespace>SFag.DataRepository</RootNamespace>
    <AssemblyName>SFag.DataRepository</AssemblyName>
    <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
    <TargetFSharpCoreVersion>4.4.0.0</TargetFSharpCoreVersion>
    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
    <Name>Sfag.DataRepository</Name>
    <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
    <TargetFrameworkProfile />
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <Optimize>false</Optimize>
    <Tailcalls>false</Tailcalls>
    <OutputPath>bin\Debug\</OutputPath>
    <DefineConstants>DEBUG;TRACE</DefineConstants>
    <WarningLevel>3</WarningLevel>
    <DocumentationFile>bin\Debug\SFag.DataRepository.XML</DocumentationFile>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <DebugType>pdbonly</DebugType>
    <Optimize>true</Optimize>
    <Tailcalls>true</Tailcalls>
    <OutputPath>bin\Release\</OutputPath>
    <DefineConstants>TRACE</DefineConstants>
    <WarningLevel>3</WarningLevel>
    <DocumentationFile>bin\Release\SFag.DataRepository.XML</DocumentationFile>
  </PropertyGroup>
  <ItemGroup>
    <Reference Include="mscorlib" />
    <Reference Include="System" />
    <Reference Include="System.Core" />
    <Reference Include="System.Numerics" />
  </ItemGroup>
  <ItemGroup>
    <Compile Include="AssemblyInfo.fs" />
    <Compile Include="Tilsynsmyndighet.fs" />
    <None Include="Script.fsx" />
    <None Include="paket.references" />
    <Compile Include="KonsesjonRepository.fs" />
  </ItemGroup>
  <ItemGroup>
    <ProjectReference Include="..\Sfag.Contracts\Sfag.Contracts.csproj">
      <Name>Sfag.Contracts</Name>
      <Project>{260b3032-028d-417e-acde-1c332744b1bf}</Project>
      <Private>True</Private>
    </ProjectReference>
  </ItemGroup>
  <PropertyGroup>
    <MinimumVisualStudioVersion Condition="'$(MinimumVisualStudioVersion)' == ''">11</MinimumVisualStudioVersion>
  </PropertyGroup>
  <Choose>
    <When Condition="'$(VisualStudioVersion)' == '11.0'">
      <PropertyGroup Condition="Exists('$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.FSharp.Targets')">
        <FSharpTargetsPath>$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.FSharp.Targets</FSharpTargetsPath>
      </PropertyGroup>
    </When>
    <Otherwise>
      <PropertyGroup Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Targets')">
        <FSharpTargetsPath>$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Targets</FSharpTargetsPath>
      </PropertyGroup>
    </Otherwise>
  </Choose>
  <Import Project="$(FSharpTargetsPath)" />
  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
       Other similar extension points exist, see Microsoft.Common.targets.
  <Target Name="BeforeBuild">
  </Target>
  <Target Name="AfterBuild">
  </Target>
  -->
  <Choose>
    <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.1'">
      <ItemGroup>
        <Reference Include="FSharp.Core">
          <HintPath>..\packages\FSharp.Core\lib\net40\FSharp.Core.dll</HintPath>
          <Private>True</Private>
          <Paket>True</Paket>
        </Reference>
      </ItemGroup>
    </When>
  </Choose>
  <Choose>
    <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.1'">
      <ItemGroup>
        <Reference Include="FSharp.Data.SqlClient">
          <HintPath>..\packages\FSharp.Data.SqlClient\lib\net40\FSharp.Data.SqlClient.dll</HintPath>
          <Private>True</Private>
          <Paket>True</Paket>
        </Reference>
        <Reference Include="System.Data">
          <Paket>True</Paket>
        </Reference>
        <Reference Include="System.Xml">
          <Paket>True</Paket>
        </Reference>
      </ItemGroup>
    </When>
  </Choose>
</Project>

When running msbuild manually we get the correct arguments to fsc.exe:

C:\Program Files (x86)\Microsoft SDKs\F#\4.0\Framework\v4.0\fsc.exe -o:obj\Release\SFag.DataRepository.dll --debug:pdbonly --noframework --define:TRACE --doc:bin\Release\SFag.DataRepository.XML --optimize+ -r:E:\TeamCity\buildAgent2\work\cd80d924274f60cd\src\packages\FSharp.Core\lib\net40\FSharp.Core.dll -r:E:\TeamCity\buildAgent2\work\cd80d924274f60cd\src\packages\FSharp.Data.SqlClient\lib\net40\FSharp.Data.SqlClient.dll -r:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\mscorlib.dll" -r:E:\TeamCity\buildAgent2\work\cd80d924274f60cd\src\Sfag.Contracts\bin\Release\Sfag.Contracts.dll -r:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Core.dll" -r:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Data.dll" -r:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.dll" -r:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Numerics.dll" -r:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Xml.dll" --target:library --warn:3 --warnaserror:76 --fullpaths --flaterrors --subsystemversion:6.00 --highentropyva+ "C:\Users\admtoja1\AppData\Local\Temp\.NETFramework,Version=v4.6.1.AssemblyAttributes.fs" AssemblyInfo.fs Tilsynsmyndighet.fs KonsesjonRepository.fs 

When teamcity runs the build we don't get the exact same output:

C:\Program Files (x86)\Microsoft SDKs\F#\4.0\Framework\v4.0\fsc.exe -o:obj\Release\SFag.DataRepository.dll --debug:pdbonly --noframework --define:TRACE --doc:bin\Release\SFag.DataRepository.XML --optimize+ -r:E:\TeamCity\buildAgent2\work\cd80d924274f60cd\src\packages\FSharp.Core\lib\net40\FSharp.Core.dll -r:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\mscorlib.dll" -r:E:\TeamCity\buildAgent2\work\cd80d924274f60cd\src\Sfag.Contracts\bin\Release\Sfag.Contracts.dll -r:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Core.dll" -r:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Data.dll" -r:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.dll" -r:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Numerics.dll" -r:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Xml.dll" --target:library --warn:3 --warnaserror:76 --fullpaths --flaterrors --subsystemversion:6.00 --highentropyva+ "E:\TeamCity\buildAgent2\temp\buildTmp\.NETFramework,Version=v4.6.1.AssemblyAttributes.fs" AssemblyInfo.fs Tilsynsmyndighet.fs KonsesjonRepository.fs 

The error is that in the Teamcity version there is no reference to FSharp.Data.SqlClient. This is really strange since I thought teamcity would just call msbuild on my solution.


Source: (StackOverflow)

Create package that references another package in solution

I often have this situation:

Foo.sln
    Foo.csproj
    Foo.Wpf.csproj

Then I create:

  • A nuget package Foo.nupkg
  • A package for Foo.Wpf.nupkg referencing Foo.nupkg.

I could not find out how to specify that dependency in the docs.


Source: (StackOverflow)

F# .net Core cannot use FsUnit in unit test in VsCode

I've installed FsUnit in .net core using Paket on VsCode. Unfortunately I cannot get my unit test files to reference it. I've used dotnet restore, and went to every website I could find but I'm not sure what's wrong.

I did need to add a reference to my project:

`<Import Project="..\.paket\Paket.Restore.targets" />`. 

I installed Paket using chocolatey so I'm not sure if that is the issue.


Source: (StackOverflow)

F# build fails to locate two packages after updating mono

I have an existing F# / Mono / paket / fake project under Linux that used to compile correctly.

I updated mono using apt-get and now my project won't compile.

It can't find the two referenced packages : MathNet.Numerics and Newtonsoft.Json.

Here's what I'm getting when building the project:

Primary reference "MathNet.Numerics".
/usr/lib/mono/msbuild/15.0/bin/Microsoft.Common.CurrentVersion.targets(1980,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "MathNet.Numerics". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [/home/bleakcabal/Documents/projects/genesis/genesis/genesis/genesis.fsproj]
          For SearchPath "{TargetFrameworkDirectory}".
          Considered "/usr/lib/mono/xbuild-frameworks/.NETFramework/v4.5/MathNet.Numerics.winmd", but it didn't exist.
          Considered "/usr/lib/mono/xbuild-frameworks/.NETFramework/v4.5/MathNet.Numerics.dll", but it didn't exist.
          Considered "/usr/lib/mono/xbuild-frameworks/.NETFramework/v4.5/MathNet.Numerics.exe", but it didn't exist.
          Considered "/usr/lib/mono/4.5-api/MathNet.Numerics.winmd", but it didn't exist.
          Considered "/usr/lib/mono/4.5-api/MathNet.Numerics.dll", but it didn't exist.
          Considered "/usr/lib/mono/4.5-api/MathNet.Numerics.exe", but it didn't exist.
          Considered "/usr/lib/mono/4.5-api/Facades/MathNet.Numerics.winmd", but it didn't exist.
          Considered "/usr/lib/mono/4.5-api/Facades/MathNet.Numerics.dll", but it didn't exist.
          Considered "/usr/lib/mono/4.5-api/Facades/MathNet.Numerics.exe", but it didn't exist.
          Considered "/usr/lib/mono/4.5-api/Facades/MathNet.Numerics.winmd", but it didn't exist.
          Considered "/usr/lib/mono/4.5-api/Facades/MathNet.Numerics.dll", but it didn't exist.
          Considered "/usr/lib/mono/4.5-api/Facades/MathNet.Numerics.exe", but it didn't exist.
          For SearchPath "{GAC}".
          Considered "MathNet.Numerics", which was not found in the GAC.
          For SearchPath "{RawFileName}".
          Considered treating "MathNet.Numerics" as a file name, but it didn't exist.
          For SearchPath "/home/bleakcabal/Documents/projects/genesis/build/".
          Considered "/home/bleakcabal/Documents/projects/genesis/build/MathNet.Numerics.winmd", but it didn't exist.
          Considered "/home/bleakcabal/Documents/projects/genesis/build/MathNet.Numerics.dll", but it didn't exist.
          Considered "/home/bleakcabal/Documents/projects/genesis/build/MathNet.Numerics.exe", but it didn't exist.

The file resides in a packages folder in my project (which I created using Ionide-fsharp with VS code using paket and fake) but this folder is not appearing in the error message.

I am getting the exact same message for Newtonsoft.Json.

Here is my paket.dependencies file:

source https://www.nuget.org/api/v2

nuget FAKE
nuget FSharp.Core
nuget MathNet.Numerics
nuget Newtonsoft.Json

My paket.lock file is too long to post but here are the relevant parts:

MathNet.Numerics (3.19)
      TaskParallelLibrary (>= 1.0.2856) - framework: net35

Newtonsoft.Json (10.0.2)
      Microsoft.CSharp (>= 4.3) - framework: netstandard10, >= netstandard13
      NETStandard.Library (>= 1.6.1) - framework: netstandard10, >= netstandard13
      System.ComponentModel.TypeConverter (>= 4.3) - framework: netstandard10, >= netstandard13
      System.Runtime.Serialization.Formatters (>= 4.3) - framework: >= netstandard13
      System.Runtime.Serialization.Primitives (>= 4.3) - framework: netstandard10, >= netstandard13
      System.Xml.XmlDocument (>= 4.3) - framework: >= netstandard13

Here is an excerpt from one of my multiple .fsproj files that reference these packages:

...
<Reference Include="MathNet.Numerics" />
<Reference Include="Newtonsoft.Json" />
...
<Choose>
<When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v3.5'">
  <ItemGroup>
    <Reference Include="MathNet.Numerics">
      <HintPath>..\..\packages\MathNet.Numerics\lib\net35\MathNet.Numerics.dll</HintPath>
      <Private>True</Private>
      <Paket>True</Paket>
    </Reference>
  </ItemGroup>
</When>
<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="MathNet.Numerics">
      <HintPath>..\..\packages\MathNet.Numerics\lib\net40\MathNet.Numerics.dll</HintPath>
      <Private>True</Private>
      <Paket>True</Paket>
    </Reference>
  </ItemGroup>
</When>

If I do mono --version I get the following:

Mono JIT compiler version 5.0.1.1 (2017-02/5077205 Thu May 25 09:16:53 UTC 2017)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com

I tried using the following commands but to no avail: .paket/paket.exe restore, .paket/paket.exe install, .paket/paket.exe outdated.


Source: (StackOverflow)

How do you include a + sign in a filename in paket? It ends up url-encoded

If you have a paket file with a files section like this:

files
    ../bin/profile259/Foo.dll     ==> lib/pq+

Then paket pack will insert a url-encoded filename lib/pq%2B in the nupkg file that it builds. What's the right way to specify a filename so the encoding/decoding works correctly?

Paket version 2.62.6.0


Resolution: use paket 2.63; this was a bug, not user error. Fixed in this patch.


Source: (StackOverflow)