0

Windows AzureでホストするWebプロジェクトがあります。今、サーバー上の何かを監視するためにクライアント exe を追加しようとしています ( TeamCity の Windows Tray Notifier のようなもの)。このインストーラーへのリンクは私の Web サイトにあります。

標準の Windows Azure Web サイトを使用しています。git リポジトリを使用してプロジェクトをデプロイします。

質問は、Azure で標準セットアップ プロジェクトをビルドできますか? そうでない場合、そのようなプロジェクトを構築するために何を使用できますか? インストーラーのプロジェクト タイプを WiX などに変更する必要はありますか?

4

1 に答える 1

0

Azure Web サイトのコンテキストでは、Web サイト プロジェクトは、MSBuild によってではなく、ASP.NET および IIS によって直接実行可能な .Net コードにコンパイルされます。

ASP.NET は、いわゆるBuildProvidersを使用して、さまざまな種類のファイルを単一のアセンブリにビルドし、Web サイト フォルダーごとに 1 つのアセンブリを生成します。

ASP.NET コンパイルは完全な MSBuild コンパイルではないため、どのような種類のプロジェクトもコンパイルに MSBuild を使用するプロジェクトをコンパイルすることはできません。

理論的には (しかし、残念ながら理論的にのみ!)、BuildProviderソース コードを生成するクラスから派生した独自のクラスを実装し、それをweb.configfor ASP.NET コンパイルで参照することができます。ただし、この場合でも、コンパイルのターゲットを完全に制御することはできません。むしろ、プロバイダーによって生成されたソース コードは動的にリンクされたライブラリでコンパイルされ、(少なくとも私の意見では) インストーラーをコンパイラー出力として取得する方法はありません。

そのため、ソリューションにカスタム インストーラー プロジェクトを追加し、ローカルでインストーラーをビルドし (必要に応じて標準の VS セットアップ プロジェクトまたは WiX を使用して)、新しくビルドされたインストーラーをデプロイ フォルダーにコピーしてから、GIT をデプロイすることをお勧めします。ファイル。

于 2013-05-14T20:54:31.943 に答える