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.