11

変更を加えたりバグを修正したりするときに Web サイトに公開する ASP.NET Web アプリを持っています。プロジェクト ファイルのバックアップをサーバーに (SVN チェックインとは別に) 自動的に保存したいので、プロジェクト全体をローカル ドライブからサーバーにコピーするバッチ ファイルを作成しました。スタンドアロンで実行すると、バッチ ファイルは正常に機能するため、問題はありません。それが懸念される場合、バッチファイルはプロジェクトのパスにありません。

次に、これらの行を .csproj ファイルの終了</project>タグのすぐ上に追加しました。

<Target Name="AfterPublish" >
    <Exec Command="C:\deg\bat\backupRMA.cmd" />
</Target>

これは、MSDN のターゲットのオーバーライドに関する指示に従います。

この SO questionで概説されている方法も試しました。これは次のように見えました:

<Target Name="BackUpRMAToIDrive" AfterTargets="MSDeployPublish" >
    <Exec Command="C:\deg\bat\backupRMA.cmd" />
</Target>

それもうまくいきません。

完全を期すために、ここにバッチファイルを示します。これは非常に単純ですが、興味がある場合はスイッチについて説明できます。

xcopy C:\deg\ASP.NET\OnlineRMA_SinglePage\*.* /cherkyDi I:\common\AppDevBranch\Service\rma

Build > Publish RMA を使用して VS2010 で公開していますが、これは正常に機能します。バックアップスクリプトが実行されないだけです。唯一の共通点はスクリプト自体です。ソース ディレクトリから宛先ディレクトリへのコピーを使用する他の例を見たことがありますが、Exec コマンドを使用して外部スクリプトを呼び出すことができることは理解できたと思いますか? そのメソッドで見つけた SO の質問の例を次に示します。

明らかな何かが欠けていることは確かですが、かなり単純に見える何かをいじって2日目に入ったので、何が欠けているのでしょうか?

4

2 に答える 2