2016-04-16 6 views
2

FSLabテンプレートを実行すると、エラー与えたときにエラーが発生します「タイププロバイダ 『をRProvider.RProvider』がエラーを報告しました:タイププロバイダのコンストラクタが例外をスローした場合:20秒以内にR.NETサーバーの起動に失敗しました」FSLabテンプレートプロジェクトは

私は

誰もがこのエラーを回避する方法を知っているfslab.orgからVS2015と最新のテンプレートを使用していますか?私はそれがVSに関連しているとは思わないので、私はVS2013を使用すると同じエラーが発生します。

答えて

1

RProvider.Server.exeはFSharp.Coreのv4.3.0.0を期待していますが、例外が表示されるはずですRProvider.Server.exeあなたが実行した場合、4.4にバンドルされています。回避策は、RProvider.Server.exe.configファイルをバインドリダイレクトを使用して同じディレクトリに追加することです。

1

これは痛みです。私はあなたがNuGetからFsLabを追加し、プロジェクトを構築しようとしていると仮定しています。 @kevによると、FsLab(0.3.18)の現在の安定版は、FSharp.Core.dllという間違ったバージョンをバンドルしています。 @kevの意味を調べるには、$YOUR_PROJECT_DIR/packages/RProvider.1.1.17/lib/net40ディレクトリに移動し、そこでコマンドウィンドウを開き、RProvider.Server.exeを実行して、例外を確認してください。

治療法ではなく、それは期待し1(4.3.0.0)で、実際にバンドルされているアセンブリのバージョン(4.4.0.0)を探すために、ランタイムを言うだろうバインディングリダイレクトを作成することです。これを行うには、RProvider.Server.exe.configと呼ばれる上記のディレクトリにファイルを作成し、そこに以下の貼り付け...

<?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> 

を...そしてあなたが行って良いことがあります。確認するには、コマンドラインからRProvider.Server.exeを実行するか(前に別の出力を与える必要があります)、プロジェクトを再構築してエラーメッセージが表示されなくなったことを確認してください。

FsLab NuGetパッケージを整理取得したときに明らかに、これはうまくいけばちょうど離れて行くでしょう。

関連する問題