これまで私のAzure機能は1つの外部アセンブリ(Assembly1)のみに依存していましたが、正常に動作していました。Azure関数で複数の外部アセンブリを参照する方法は?
しかし、最近、Assembly1がAssembly2を参照している2つの外部アセンブリが存在するため、いくつかの変更を加えなければなりませんでした。
私は同じことがAssembly1ようだった(私は意味、Azureの機能の「ビン」フォルダに.dllファイルをコピーし、文「Assembly2 #R」を使用してAzureの機能でそれをインポートAssembly2を展開している。
を。これは私に次のコンパイルエラーできます -
例外機能を実行中:Functions.ProcessCsvRows Assembly1:ファイルまたはアセンブリをロードできませんでした。 'Assembly2を、 バージョン= 1.0.0.0、カルチャニュートラル、PublicKeyToken = = nullを' または 依存関係のうちの1つです。指定されたファイルが見つかりません。 started(ID = dc837832-9303-4ae4-a8ae-133ab531250c) アセンブリ 'Assembly2、Version = 1.0.0.0、Culture =ニュートラル、 PublicKeyToken = null'が見つかりませんでした。プライベートなアセンブリファイルがありませんか?
これについての詳細は、コードの下に見つけてください -
#r "Assembly1"
#r "Assembly2"
using System;
using System.Net;
using Newtonsoft.Json;
using System.IO;
using System.Collections.Generic;
using System.Configuration;
using Assembly1.Entities;
public static async Task<object> Run(HttpRequestMessage req, TraceWriter log){
var jsonContent = await req.Content.ReadAsStringAsync();
dynamic data = JsonConvert.DeserializeObject(jsonContent.ToString());
ProcessCsvFileContents_Result _processResponse = await DataProcessor.ProcessCsvFileContents(data.FileContent.ToString(), connectionString, clientId, redirectUrl); // DataProcessor exists in Assembly1 only
-- response processing code --
}
が多く、この上の任意の助けを感謝しています。
そうですか? http://www.robfox.nl/2016/04/27/referencing-external-assemblies-azure-functions/ – 4c74356b41
はい、私は既にそれを参照していますが、DLLファイルの場所を除いて、そこに記載されているすべての手順を実行しています私は関連するAzure関数のbinフォルダにアップロードしています。これは、私のものが私的なアセンブリである(共有されていない)からです。私が言ったように、私は "Assembly1"だけを使用しなければならないまで、これはすべてうまくいきました。 「Assembly2」を導入した後、私はこの問題に直面しました。 – Nirman
あなたのdllを含む関数フォルダ内にbinフォルダがありますか?それはドキュメント[here](https://azure.microsoft.com/en-us/documentation/articles/functions-reference-csharp/)に従って動作するはずです。ドキュメントごとにアセンブリ名の末尾に「.dll」を追加して、それが役立つかどうか確認してください。 – mathewc