2017-09-18 11 views
1

私はAzure関数プロジェクト(VS 2017 15.3.4を使用して作成)を持っています。私は同じソリューション(4.6.1)でユニットテストプロジェクトを追加しました。私のAzure関数プロジェクトへの参照を追加すると、私は単純なテストケースを実行しようとすると、私はMyFunctionのRunメソッドを実行すると、このエラー "ファイルまたはアセンブリSystem.Net.Http、バージョン= 4.1.1.0をロードできませんでした" 。Azure関数のユニットテストでSystem.Net.Http、Version = 4.1.1.0を読み込めませんでした

Exception Image 私は近づいたことを試してみましたが、何も動作していないようです。

は私がSystem.Net.httpためnugetパッケージを追加しようとしました

<dependentAssembly> 
    <assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/> 
    <bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0" /> 
    </dependentAssembly> 

app.configファイルに結合明示的に(背後にあるいくつかのバージョンの最新版から)を追加しようとしましたが、それはですどちらも助けてくれない。

誰でもこのソリューションを見つけることができましたか?

おかげ サンジャイ

+0

はい、ここに問題があるようです。あなたはhttps://github.com/Azure/azure-webjobs-sdk-script/issuesで問題を開き、ここにリンクを投稿してもよろしいですか?これにより、私たちが追跡しやすくなります。 –

+0

確かに、それを行います。 –

+0

あなたが提案したgithubで問題を作成しました。ここにリンクがあります:https://github.com/Azure/azure-webjobs-sdk-script/issues/1922 –

答えて

4

あり、この作品を作るための方法があるが、それは完全に簡単ではありません。

  • ユニットテスト(.NETコア)プロジェクトとない単体テストを作成します。 (.NET Framework)。これにより、新しいProject Systemを使用するよう強制されます。
  • 単体テストプロジェクトのcsprojを編集します。
  • <TargetFramework>netcoreapp2.0からnet461に変更してください。注:これはVS UIから変更することはできません。そのため、手動編集が必要です。 VSで
  • 、あなたの関数プロジェクト

への参照を追加し、今ではすべてがかなり良く動作するはずです。例えば完全なサンプルはhttps://github.com/vijayrkn-test/FunctionsProjectWithClassLibを参照してください。

+0

アハーン、それは価値があるものです。私はnetcoreプロジェクトを作成しようとしましたが、バージョンミスマッチのために余計なことはしませんでした。私はこれを試して、それが動作するかどうかを知らせます。 ありがとう! –

+0

これは本当にうまくいった!ダビデの助けてくれてありがとう。 –

+0

VS2015を使用する必要がありますが、回避策を試すために.NET Core 2.0プラットフォームをインストールしましたが、 '.NET Core'で使用できる単体テストプロジェクトはありません。どのようにしてこの回避策を使用できますか? – Darren

関連する問題