2017-07-08 3 views
6

Mise à jour. Avec l'aide de Matt Ward, j'ai retracé cela dans un mauvais fichier de configuration. Ce qui suit ~/.config/NuGet/NuGet.Config fonctionne pour moiLa compilation fsharp échoue sous Mono avec une erreur NuGet

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
<packageSources> 
    <add key="nuget.org" value="https://www.nuget.org/api/v2/" protocolVersion="2" /> 
</packageSources> 
    <packageSources> 
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" /> 
</packageSources> 
</configuration> 

Je peux faire ce qui suit sans aucun problème:

/opt/mono/mono-5.2.0.196-tarball/bin/mono ~/nuget.exe install -version 2.6.4 nunit 

Cependant, lorsque je tente de compiler FSharp sous la même installation de Mono, j'obtiens l'erreur suivante. C'est dans la branche fsharp4. Que pourrais-je faire de mal, s'il vous plaît? Merci beaucoup.

Projet "/dir/src/fsharp/FSharp.Build-proto/FSharp.Build-proto.fsproj" (cible par défaut (s)): Cible CallFsSrGen: création du répertoire « obj/proto /./"Outil /dir/src/fsharp/FSharp.Build-proto/../../../lib/bootstrap/4.0/fssrgen.exe l'exécution a commencé avec les arguments: /dir/src/fsharp/FSharp .Build/FSBuild.txt obj/proto /./ FSBuild.fs FSBuild.resx Cible BeforeBuild: Exécution: mono --runtime = v4.0.30319 /dir/src/fsharp/FSharp.Build-proto/../. ./../.nuget/NuGet.exe restore packages.config -PackagesDirectory packages Impossible de trouver versi sur '2.6.4' du paquet 'NUnit'. Impossible de trouver la version '2.6.4' du paquet 'NUnit.Runners'. /dir/src/FSharpSource.targets: erreur: Commande 'mono --runtime = v4.0.30319 /dir/src/fsharp/FSharp.Build-proto/../../../.nuget/NuGet .exe restaurer packages.config -PackagesDirectory paquets avec le code est sorti: 1. Tâche "Exec" exécution - cible construction ECHEC Terminé "BeforeBuild" dans le projet

+1

Essayez-vous de compiler à partir de la ligne de commande? – mydogisbox

+1

Correct. J'utilise la construction habituelle basée sur makefile. Cela a fonctionné sur le même ordinateur dans le passé (sous un ancien Mono, et avec possiblement une version différente de l'arbre f # git). – John

+0

Vérifiez quelle version de NuGet vous utilisez et quelles sources de paquet NuGet sont activées. Je suppose que vous n'avez aucune source de paquet NuGet activée ou que vous utilisez un fichier .exe NuGet v2 avec une source de paquet NuGet v3. –

Répondre

2

Vérifiez quelle version de NuGet que vous utilisez et quelles sont les sources du paquet NuGet activées. Soit il n'y a pas de sources de paquets NuGet activées, soit vous utilisez un fichier .exe NuGet v2 avec une source de paquet NuGet v3.

S'il n'existe aucun fichier NuGet.Config fourni avec le code source de construction FSharp que vous utilisez, vérifiez les sources de package répertoriées dans le fichier ~/.config/NuGet/NuGet.config. Je soupçonne qu'il a seulement la source du paquet v3 https://api.nuget.org/v3/index.json qui ne peut pas être utilisé avec un NuGet.exe (v2). Vous devrez donc soit mettre à jour le fichier nuget.exe vers une version ultérieure, soit ajouter la source du paquet NuGet v2 dans votre fichier NuGet.Config: https://www.nuget.org/api/v2/

+0

Merci encore pour votre aide. – John