0

Windows 7 64 ビット上の Visual Studio 2010 は、.aspx、.ascx、.css、および .js ファイルをロックしています。私はフロントエンド Web 開発者であり、ROBOCOPY スクリプトを作成して、ソリューションの完全なビルドを行う必要がないようにしました。このソリューションには、すべての Web アセット ファイル (コンパイルされていないファイル) を deploy ディレクトリにコピーするビルド後の手順があります。問題は、これにより IIS がアプリを再起動し、再ログインが必要になることです。そのため、特に css、js、および html テンプレートを迅速に段階的に更新できるようにしたい場合、これは苦痛なオプションです。

ROBOCOPYバットファイル:

robocopy C:\**sln dir**\Content C:\**deploy dir**\Content /MIR /ZB /B /XD "*.svn"
robocopy C:\**sln dir**\Views C:\**deploy dir**\Views /MIR /ZB /B /XD "*.svn"
robocopy C:\**sln dir**\Scripts C:\**deploy dir***\Scripts /MIR /ZB /B /XD "*.svn" "*.idea"

コマンド出力:

2011/02/16 11:16:01 ERROR 32 (0x00000020) Copying File C:\*** etc ***\Edit.aspx
The process cannot access the file because it is being used by another process.

スクリプトを連続して実行するたびに、あるファイルでロックが解除され、次のファイルでクラッシュし、最終的にすべてのファイルがコピーされます。/W:n フラグを試しましたが、ctrl+C を押して再試行するまでロックが解除されません。robocopy がロックされたファイルを受け入れるようにする方法、または VS2010 が編集用に開いているファイルをロックしないようにする方法はありますか?

4

1 に答える 1

0

SysInternals ツールを使用して、どのプロセスがファイルをロックしているかを調べることができます。おそらく Cassini Web サーバーだと思います。もしそうなら、Visual Studio 2010 with SP 1 Beta (beta yikes ) と IIS Express を Cassini の代わりに使用できます。これがあなたの開発環境にとって意味があるかどうか、または robocopy を実行したいときにファイルがロックされるのを防ぐかどうかはわかりませんが、一見する価値があるかもしれません.

于 2011-02-16T20:01:41.340 に答える