2

ファイルを生成するポスト ビルド プロセスがある\bin\out場合、MSBuild ターゲット ファイルを使用して、そのディレクトリ内のすべてのファイルを (再帰的に) Web デプロイ中に公開するように指定するにはどうすればよいですか?

4

1 に答える 1

0

これを 2 つの部分に分けてみましょう。

まず、Web プロジェクトをビルドします。

<Target Name="BuildWeb">
    <MSBuild Projects="WebExtranet\WebExtranet.csproj"
             Properties="Configuration=$(Environment);DeployOnBuild=True;CreatePackageOnPublish=True;BaseIntermediateOutputPath=..\$(DistDir)\Web\" />
</Target>

次に、これを使用してローカル IIS に発行します (必要に応じて msdeploy コマンドを調整する必要がある場合があります)。

<Target Name="DeployWeb">
    <ItemGroup>
        <PackageSourceDir Include='$(DistDir)\Web\$(Environment)\Package\WebExtranet.zip' />
    </ItemGroup>

    <Message Text="Package path: %(PackageSourceDir.FullPath)" />

    <Exec Command="&quot;c:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe&quot; -verb:sync -allowUntrusted -source:package=&quot;%(PackageSourceDir.FullPath)&quot; -setParam:'IIS Web Application Name'='My Web App' -dest:auto"/>
</Target>

よくある落とし穴:

  • msbuild のバージョンは重要です。V3を使用しています。
  • IIS で Web アプリケーションを作成しておく必要があります。一度だけ行う必要があります。

$(Environment) 変数はビルド構成であることに注意してください。いくつかありますが、最初のターゲットを実行して、作成されたフォルダー構造を確認します。次に、スクリプトを調整します。

于 2012-09-12T16:28:23.657 に答える