2016-04-16 11 views
2

FSLab Vorlage gibt einen Fehler "Der Typ Provider 'RProvider.RProvider' gemeldet einen Fehler: Der Typ Provider Konstruktor hat eine Ausnahme ausgelöst: Fehler beim Starten des R.NET-Server innerhalb von 20 Sekunden"FSLab Vorlage Projekt gibt einen Fehler beim Ausführen

ich VS2015 und aktuelle Vorlage bin mit von fslab.org

Wer weiß, wie um diesen Fehler zu arbeiten? Ich bekomme den gleichen Fehler, wenn ich VS2013 benutze, also glaube ich nicht, dass es mit VS zusammenhängt.

Antwort

1

RProvider.Server.exe erwartet FSharp.Core v4.3.0.0, ist aber mit 4.4 gebündelt. Wenn Sie RProvider.Server.exe ausführen, sollte die Ausnahme angezeigt werden. Eine Umgehung ist das Hinzufügen einer RProvider.Server.exe.config-Datei zu demselben Verzeichnis mit einer Bindungsumleitung.

1

Das ist ein Schmerz. Ich gehe davon aus, dass Sie FsLab von NuGet hinzugefügt und versucht haben, das Projekt zu erstellen. Wie @kev sagt, bündelt die aktuelle stabile Version von FsLab (0.3.18) die falsche Version von FSharp.Core.dll. Um zu sehen, was @kev bedeutete, gehen Sie in das Verzeichnis $YOUR_PROJECT_DIR/packages/RProvider.1.1.17/lib/net40, öffnen Sie dort ein Befehlsfenster und führen Sie RProvider.Server.exe aus, um die Ausnahme für sich selbst zu sehen.

Das Problem besteht darin, eine verbindliche Umleitung zu erstellen, die der Laufzeit mitteilen würde, dass sie die tatsächlich gebündelte Assembly-Version (4.4.0.0) statt der erwarteten Version (4.3.0.0) sucht. Dazu erstellen Sie eine Datei in dem oben genannten Verzeichnis, genannt RProvider.Server.exe.config, und fügen Sie den folgenden hinein ...

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
     <assemblyIdentity name="FSharp.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> 
     <bindingRedirect oldVersion="4.3.0.0" newVersion="4.4.0.0" /> 
     </dependentAssembly> 
    </assemblyBinding> 
    </runtime> 
</configuration> 

... und Sie sollten gut zu gehen. Um dies zu überprüfen, führen Sie entweder RProvider.Server.exe über die Befehlszeile aus (es sollte vorher eine andere Ausgabe geben) oder erstellen Sie Ihr Projekt neu, um zu prüfen, ob die Fehlermeldung nicht mehr angezeigt wird.

Offensichtlich wird dies hoffentlich verschwinden, wenn das FsLab NuGet-Paket aussortiert wird.

Verwandte Themen