ASP.NET-MVC3 アプリケーションを IIS7 サーバーにデプロイしています。
「宛先に余分なファイルを残す (削除しない)」をチェックすると、Web への公開は正常に機能します。
チェックボックスがチェックされていない場合、通常は次のエラーで失敗します。
エラー 65 Web デプロイ タスクが失敗しました。((2013.07.10.17:06:09) リモート コンピューターで要求を処理したときにエラーが発生しました。)
(2013.07.10. 17:06:09) リモート コンピューターでリクエストを処理したときにエラーが発生しました。
「App_tracelog.svclog」で操作「ファイルの削除」を処理中にエラーが発生しました。
エラー コードは 0x80070020 でした。
別のプロセスで使用されているため、プロセスは 'D:\WebSites\app\Admin\App_tracelog.svclog' にアクセスできません。0 0 管理アプリ
明らかに、トレースログは現在アプリケーションによって書き込まれているため、削除できません。
デプロイ時にすべてのファイルをサーバーに残しておきたくないので、アプリケーションをオフにしてデプロイし、オンにするのが良い解決策になると最初に考えました。動作しますが、(公開を押したときに) 自動的に実行できませんでした。(方法はありますか?)
後で、トレースログを削除するのは悪い習慣だと気づきました。ログは保存する必要があります。ログはそこにあるので、後でアクセスして読み取ることができます。
ログとバックアップ ファイルの一部を除いて、展開先のフォルダーからほぼすべてを削除したいと考えています。いくつかのファイル (拡張子 .tracelog、.bak、.log など)を除いて、そのフォルダーを自動的にクリーンアップするようにデプロイを強制する方法はありますか?