1

問題

csprojの一部として、YUICompressorを実行し、コンパイルされたcssおよびjsファイルを生成するカスタムMSBuildタスクがあります。

<PropertyGroup>
    <CssOutputFile>$(OutDir)..\Styles\compiled.css</CssOutputFile>
    <JavaScriptOutputFile>$(OutDir)..\Scripts\compiled.js</JavaScriptOutputFile>
    <BuildDependsOn Condition="'$(Configuration)' != 'Debug'">
      $(BuildDependsOn);
      CompressorTarget;
    </BuildDependsOn>
</PropertyGroup>

これはgitデプロイメントの一部として正常に実行され、ファイルが生成されますが、AzureWebSitesデプロイメントエンジンはすべての出力ファイルを別のフォルダーにコピーします。そのプロセスではcsproj、フォルダにあるものではなく、持っているものがすべて必要になるようです。生成されたcompiled.cssとcompiled.jsがコピーされないというメナス(私のcsprojにないため)

4

3 に答える 3

2

プロジェクトをデプロイするために Azure が行うことは、次のことを行う場合とまったく同じである必要があります。

  • プロジェクトを右クリックし、[発行] を選択します。
  • パブリッシュ方法を「ファイル システム」に変更します。
  • パスを入力して [公開] をクリックします

したがって、一般的には、このローカル パブリッシュを行うときに適切なファイルを取得できるように、ビルド プロセスが機能することを確認する必要があります。その場合、git を Azure にプッシュしたときに同じ結果が得られる可能性があります。

于 2012-06-08T19:09:23.627 に答える
1

今のところ使用した回避策は、空のcompiled.cssファイルと.jsファイルをcsprojに追加することです。誰かが同じことを経験した場合に備えて、この質問を書きたかったのです。

このシナリオで何か別のことをする計画がある場合は、MSの誰かがコメントできるといいですね。

于 2012-06-08T13:10:11.110 に答える
1

コンパイルされたスクリプトを配置する場所に応じて、プロジェクト ファイルでスター インクルードを使用できます。

<ItemGroup>
  <Content Include="assets\**\*" />
</ItemGroup>

Azure がプロジェクト ファイルを使用してデプロイ対象を決定する場合 (これは、最初は奇妙に思えます)、うまくいくはずです。

于 2012-06-08T13:54:27.873 に答える