12

私は次のことを試しました:

using System;
using Newtonsoft.Json
using Newtonsoft.Linq

public static void Run(string myEventHubMessage, out string document, TraceWriter log)
{
    log.Verbose($"C# Event Hub trigger function processed a message: {myEventHubMessage}");
    dynamic jsonData = JObject.Parse(myEventHubMessage);
    document = jsonData;
}

Azure portal で [保存] ボタンをクリックすると、次のようになります。

2016-04-05T21:28:31 ようこそ、ログ ストリーミング サービスに接続されました。2016-04-05T21:28:33.443 関数「ProbeEventHubTrigger」のスクリプトが変更されました。リロード中。2016-04-05T21:28:33.443 関数スクリプトをコンパイルしています。2016-04-05T21:28:33.568 (2,22): エラー CS1002: ; 予想される 2016-04-05T21:28:33.568 (3,22): エラー CS1002: ; 予想される 2016-04-05T21:28:33.568 (2,7): エラー CS0246: 型または名前空間名 'Newtonsoft' が見つかりませんでした (using ディレクティブまたはアセンブリ参照がありませんか?) 2016-04-05T21: 28:33.568 (3,7): エラー CS0246: 型または名前空間名 'Newtonsoft' が見つかりませんでした (using ディレクティブまたはアセンブリ参照がありませんか?) 2016-04-05T21:28:33.568 (8,24 ): エラー CS0103: 名前 'JObject' は現在のコンテキスト 2016-04-05T21:28:33 に存在しません。

私も次のことを試しました:

#r "Newtonsoft.Json"
#r "Newtonsoft.Linq"
using System;

public static void Run(string myEventHubMessage, out string document, TraceWriter log)
{
    log.Verbose($"C# Event Hub trigger function processed a message: {myEventHubMessage}");
    dynamic jsonData = JObject.Parse(myEventHubMessage);
    document = jsonData;
}

この場合、Azure portal で [保存] ボタンをクリックすると、次のようになります。

2016-04-05T21:35:36 ようこそ、ログ ストリーミング サービスに接続されました。2016-04-05T21:35:38.428 関数「ProbeEventHubTrigger」のスクリプトが変更されました。リロード中。2016-04-05T21:35:38.428 関数スクリプトをコンパイルしています。2016-04-05T21:35:38.571 (2,1): エラー CS0006: メタデータ ファイル 'Newtonsoft.Linq' が見つかりませんでした 2016-04-05T21:35:38.571 (8,24): エラー CS0103: 名前 ' JObject' は現在のコンテキストに存在しません

これらのアセンブリを参照する方法は、ドキュメントから明らかではありません。1 つの例では、構文が "using Newtonsoft.Json" であることがわかりますが、これはポータルでは機能しないようです。助言がありますか?

4

1 に答える 1

23

スティーブ、

.NET Framework アセンブリといくつかの「共有」アセンブリは、次の構文で追加できます

#r "AssemblyName"

したがって、JSON.NET の場合は、次を使用できます。

#r "Newtonsoft.Json"

参照が追加さたら、通常の C# プロジェクト/ファイルと同じように using ステートメントを追加できます。

using Newtonsoft.Json;

したがって、要約すると、使用するアセンブリへの参照を追加し、そのアセンブリによって公開されている名前空間インポートして、その型を使用できるようにする必要があります。これは、アセンブリ参照を追加してから、必要な場所に using ステートメントを追加する Visual Studio で行うことと似ています。

これが役立つことを願っています!

于 2016-04-05T22:09:12.177 に答える