2017-05-26 3 views
6

私はAzure関数を作成するためにVisual Studio 2017 preview(2)を使用しています。 Visual Studioの2017テンプレートは機能のためには.csファイルを作成し、それは私は、Visual Studioで得るものとは非常に異なっている2015年Visual Studio 2017 Azure関数テンプレートにはrun.csxやproject.jsonのようなファイルがありません

のために生成されたテンプレート、およびテンプレートの構造は以下のようになります。

Visual Studio 2017 Azure Function Template Structure

すべての関数は個別の.csファイルとして作成され、run.csx、project.json、またはfunction.jsonファイルはありません。そのため、関数固有の依存関係と設定を指定できません。

以前のテンプレート(下の画像を参照してください)、Visual Studio 2015でそれはよくrepresen Azureポータルで利用可能なフォルダとファイル。それはすべての.jsonと.csxファイルで個々のフォルダ内の機能を持っています。このフォルダ構造は(VS 2017のテンプレートの場合ではありません)特定の機能VS 2017で

Visual Studio 2015 Azure Function Template Structure

に関連するファイルを分離するのに役立ちます、私はプロジェクトを追加することで機能固有の依存関係と結合の設定を指定します。 jsonとfunction.jsonです。これを達成する方法を教えてください。

答えて

7

これは意図したものです。 Azure関数チームは、Visual Studio 2017でFunction Appsを開発し、デプロイする方法を変更しました。これは基本的にコンパイルされたクラスライブラリであり、関数は適切な属性を持つ静的メソッドです。

もう手動でfunction.jsonを編集しないでください。代わりにWebJob SDKの属性を使用します。パッケージ管理はNuGetパッケージを介して通常の.NET方法で行われます。

続きを読むthis blog postに続きます。

「古い方法」は、Azureポータルの中でクイックプロトタイピングと実験を行うためにはまだ動作しますが、Visual Studioではこれをサポートしません。

+0

ありがとう、これは私の多くの質問に答えますが、1つは、project.jsonファイルなしで、関数app内のすべての関数間で依存関係を共有するのが良いということです。 関数のアプリケーションを関連する関数のグループとみなして、何がベストプラクティスであるべきか疑問に思うなら、これはまったく悪い考えではないかもしれません。 –

+0

@RamkumarSingh実際には、あなたのアプリは比較的小さくまとまっているべきです。効果的な機能Appは他の.NETアプリケーションの種類と同等です。 – Mikhail

+0

ほんの少しの明確化... function.jsonは廃止されておらず、必要な場合には必要に応じてVSでも使用される可能性があります。その場合は、エントリポイント、ファイル、およびバインディングの設定を担当するだけです。 –

関連する問題