2017-08-29 13 views
2

C#Resource Manager APIを使用してAzureリソースに対していくつかの作業を行う単純なWebフック関数を構築しています。ビルドに失敗します:プリコンパイルされたAzure関数の依存関係エラー

.nuget\packages\microsoft.net.sdk.functions\1.0.2\build\netstandard1.0\Microsoft.NET.Sdk.Functions.Build.targets(31,5): error : Could not load file or assembly 'Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' or one of its dependencies. The system cannot find the file specified. 

私はNewtonsoft.Json 9.0.1をチェックしています。私はそれが私のNugetパッケージのいくつかの不一致のためだと推測しているが、どのように掘り起こすのか分からない?

は私が持っている:

  • Microsoft.Azure.Management.ResourceManager 1.6.0-プレビュー
  • Microsoft.NET.Sdk.Functions 1.0.2
  • Microsoft.Rest.ClientRuntime.Azure.Authentication VS2を使用して2.3.1

using System.Collections.Generic; 
using System.Net; 
using Newtonsoft.Json; 
using System.Net.Http; 
using System.Threading.Tasks; 
using Microsoft.Azure.Management.ResourceManager; 
using Microsoft.Azure.Management.ResourceManager.Models; 
using Microsoft.Azure.WebJobs; 
using Microsoft.Azure.WebJobs.Host; 
using Newtonsoft.Json.Linq; 
using Microsoft.Rest.Azure.Authentication;  

017 15.3.3

+0

Newtonsoft.Jsonの上位バージョンをインストールし、バージョンNewtonsoft.Json 9.0.1にダウングレードしてみてください。 Microsoft.NET.Sdk.Functions.Build.targetsファイルは、C:\ Users \ username \ .nuget \ packages \ microsoft.net.sdk.functions \ 1.0.2 \ build \ netstandard1.0のパスから取得することもできます。その後、私たちはそれについてのより多くの情報を得ることができました。 –

+0

"packages.config"というファイルを見て、以前のバージョンへの参照がないことを確認しましたか?また、ルートプロジェクトフォルダの下にある "packages"ディレクトリを見て、そこに古いバージョンがあるかどうか確認してください。また、プロジェクト内の参照を見ることもできます:Newtonsoft.Jsonを右クリックし、そこにあるバージョンをチェックして古いものでないことを確認します。 – Architekt

答えて

0

すべてがプレビューリソースマネージャパッケージになりました。

  • Microsoft.Azure.Management.ResourceManager 1.6.0-プレビュー

これは私がGitHubのプロジェクトに行って、それをチェックアウトし、オープンソースであるため。本質的に、NewtonSoftの特定のバージョンを必要としていた。リソースマネージャAPIを使ってコードを1つのアセンブリに配置し、それを使って問題を解決しました。 Azure関数でこれは正常に動作します。
要するに、依存関係を見て、アセンブリ内でそれを分離して、それをプロジェクトに組み込みます。

関連する問題