8

.Net 4.5 ランタイムで FSharp.Core バージョン 4.4.0.0 を使用して Visual Studio 2015 Community Update 2 でAlea GPU チュートリアル: https://github.com/quantalea/AleaGPUTutorialをコンパイル中にエラーが発生しました。

Fody: 未処理の例外が発生しました: 例外: ファイルまたはアセンブリ 'FSharp.Core, Version=4.3.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' またはその依存関係の 1 つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。

スタックトレース:

at Alea.CUDA.AOTCompileLogger..ctor(List`1 logs, Int32 warningCount, Int32 errorCount)
at Alea.CUDA.AOTCompileLogger..ctor()
at Alea.CUDA.AOTCompiler..ctor()
at Alea.CUDA.Fody.ModuleWeaver.Execute()
at lambda_method(Closure , Object )
at InnerWeaver.ExecuteWeavers() in c:\Code\Fody\FodyIsolated\InnerWeaver.cs:line 164
at InnerWeaver.Execute() in c:\Code\Fody\FodyIsolated\InnerWeaver.cs:line 82
Source:
Alea.CUDA
TargetSite:
Void .ctor(System.Collections.Generic.List`1[Alea.CUDA.AOTCompileLogEntry], Int32, Int32)   

可能なすべての.configファイルbindingRedirectでオプションをどのように設定しても、Tutorial.Cs プロジェクトと Tutorial.Fs プロジェクトの両方で発生します。これらのリダイレクトは、Fody 参照読み込みメカニズムによって無視されるようです。

ただし、チュートリアル ソリューションを FSharp.Core 4.3.1.0 に設定しても、コンパイルできません。エラーは同じです。

それを修正する方法についてのアイデアはありますか?

4

5 に答える 5

10

私はそれを数回正常に構築しましたが、それらは完全にランダムであり、エラーが消える原因を突き止めることができませんでした.

おそらく、Visual Studio を管理者として何度も再起動したことの組み合わせだったのでしょう。

FSharp.Core.dllまた、さまざまなソースからランダムな結果を試してみました:

正式

AleaGPUTutorialには次のように書かれています。

Visual Studio 内でビルドする前に、ソリューションを開く前にパッケージを復元することをお勧めします。これは、F# プロジェクトで Fody を使用する際の既知の問題によるものです。この問題の詳細については、インストール マニュアルを参照してください (特に「備考」セクション)。

マニュアルから:

Alea GPU は F# で実装されているため、F# ランタイムを使用します。C# または VB から Alea GPU を使用する場合は、バージョン 3.1 以降のFSharp.Core.dllアセンブリも必要です。Visual Studio を使用している場合は、次の場所に移動してそのアセンブリを見つけることができます。または、 FSharp.Core NuGet パッケージをプロジェクトにAdd Reference -> Assemblies -> Extensions -> FSharp.Core 4.3.1.0.追加することもできます。

書かれていることを正確に実行しましたが、ランダムなビルドの成功しか得られませんでした。

最後の望み

4.3.1 しかない場合に FSharp.Core 4.3.0 を使用する方法

私は、F# 3.1 をインストールすると、FSharp.Core 4.3.0.0 から 4.3.1.0 へのリダイレクトが自動的に追加されるか、または FSharp.Core 4.3.0.0 も使用可能であることを確認するという単純な仮定を抱いていました。どうやら、セマンティック バージョニングに慣れすぎてしまったようです。これは、F# で使用されるバージョニング スキームではありません。

于 2016-04-30T09:10:47.897 に答える
0

問題を解決するには、Nuget コンソールから:

Install-Package FSharp.Core -Version X

X は必要なバージョンです。ここでバージョンを確認できます: FSharp.Core

プロジェクトが x64 に設定されていることを確認します。

ここに画像の説明を入力

ここに画像の説明を入力

于 2019-08-09T23:14:56.910 に答える
0

わかりました、これは私にとってはうまくいきました。Fsharp.core 4.3.1.0 を gac に追加するだけです。

これを行う方法の説明は、次の場所にあります。

http://forum.codio.com/t/solved-could-not-load-file-or-assembly-fsharp-core-version-4-3-0-0-error/1774

于 2016-07-13T20:54:02.240 に答える