クラウドconfig(ServiceDefinition.csdef)ファイルの構成でNugetパッケージを作成します
-
27-10-2019 - |
質問
エンドユーザーがスタートアップタスクとしてインストールし、その後、ウィンドウ紺碧のプラットフォームにアプリケーションをアップロードするために使用するアドオン用のNugetパッケージをビルドしたいと思います。
1つの単純なWebアプリケーションと1つのクラウドプロジェクトを使用して、Nugetエンドユーザーがアドオンパッケージを追加し、Webアプリケーションプロジェクトに2つのファイル(exeとconfig)を追加し、クラウドプロジェクトのServiceDefinition.csdefに起動タスクを追加します。図に示すように
このタイプのNugetPacakgeを作成するにはどうすればよいですか?
よろしくお願いします。
更新:
NICKの回答に従って試しましたが、下の図に示すように、クラウドプロジェクトで2つのWebロールに問題が発生しています。 以下のようにエラーが発生します
また、コマンドラインでそのNugetパッケージをインストールする場合、すべてのwebroleプロジェクトを検討してexeファイルと構成ファイルをソリューションに追加するにはどうすればよいかという質問が1つありますか?
解決
Nugetパッケージは、次の規則に基づいて機能します。 http://docs.nuget.org/docs / creating-packages / creating-and-publishing-a-package#From_a_convention_based_working_directory
exeとconfigに関しては、次のことができます。
- パッケージディレクトリに次のディレクトリを作成します
- mkdir lib(exe用)
- mkdirコンテンツ(構成用)
exeに対して行う必要があるのは、ファイルをlibディレクトリにドロップし、メタデータノードのすぐ下にある.nuspecファイルを変更することだけです。 「ファイル」ノードがあるはずです(そうでない場合は追加できます)。ファイルノード内に次のようなものを追加します: ジェネラコディセタグプレ
設定が少し異なります。 myname.config.transformという名前のファイルをコンテンツディレクトリに追加し、.nuspecファイルにエントリを追加するだけです。
注意すべき点がいくつかあります:
- アプリに設定ファイルが存在しない場合は、設定ファイルが追加されます。
- すでに存在するファイルがある場合にのみ、変換するノードを追加する必要があります
- 変換ファイルはノード上で完全に一致するため、以下が存在する場合
設定ファイル: ジェネラコディセタグプレ
そしてあなたの変身には: ジェネラコディセタグプレ
結果のファイルは次のようになります: ジェネラコディセタグプレ
スタートアップタスクを追加する限り、それは私にとってもう少しトリッキーでした(もっと良い方法があるかもしれません)。 install.ps1でPowerShellを使用しています(上記のファイルと同じですが、「tools」ディレクトリを作成します): ジェネラコディセタグプレ
これがお役に立てば幸いです。
-ニック