3

FSUnit.xUnit を使用して単体テスト プロジェクトを作成しようとしています。

このプロセスに関する私の開発中、私はこのメッセージで失敗するテストに悩まされてきました (常に同じバージョンを引用しているわけではありません):

Could not load file or assembly 'FSharp.Core, Version=3.259.4.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. 
The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

バインディング リダイレクトを追加しても効果がないようです。私の最新のものは次のとおりです。

  <configuration>
    <runtime>
      <dependentAssembly>
        <assemblyIdentity name="FSharp.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.4.0.0" newVersion="4.4.0.0" />
      </dependentAssembly>
    </runtime>
    <startup>
      <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6" />
    </startup>
  </configuration>

これまでうまくいったのは、FSharp.Core NuGet パッケージをダウングレードすることだけですが、この最新の化身ではこれも失敗しています。

この問題で多くの時間を失っています。どんな助けでも非常に感謝しています。

アップデート

私が理解できることから、これは Json.NET のバグによるものです。テストは実行されていますが、判別共用体をシリアライズおよびデシリアライズしているときに、アセンブリ内でエラーがスローされています。Json.NET で問題を提出しました。

さらに更新

F# バージョン 4.4.0.0 を対象とするテスト プロジェクトから Json.NET シリアライザーを呼び出しています。シリアル化しようとしているオブジェクトは、Profile259 (portable-net45+netcore45+wpa81+wp8) を使用してポータブル アセンブリで定義されています。ポータブル アセンブリには、同じバインド リダイレクトが含まれています。

4

0 に答える 0