Visual Studio 2010 File Locking блокирует ROBOCOPY от копирования файлов - PullRequest
0 голосов
/ 16 февраля 2011

Visual Studio 2010 в Windows 7 64bit блокирует файлы .aspx, .ascx, .css и .js. Я - веб-разработчик внешнего интерфейса и написал сценарий ROBOCOPY, чтобы мне не приходилось делать полную сборку нашего решения. Решение имеет шаг после сборки, чтобы скопировать все файлы веб-ресурсов (не скомпилированные файлы) в каталог развертывания. Проблема в том, что это вызывает IIS для перезапуска приложения и требует повторного входа в систему, поэтому это болезненный вариант, особенно когда я хочу иметь возможность быстро и быстро обновлять шаблоны css, js и html.

ROBOCOPY bat file:

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"

Вывод Cmd:

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 не блокировать файлы, открытые для редактирования?

1 Ответ

0 голосов
/ 16 февраля 2011

Вы можете использовать инструменты SysInternals, чтобы узнать, какой процесс блокирует ваши файлы. Я предполагаю, что это веб-сервер Cassini.Если это так, то вместо Cassini можно использовать Visual Studio 2010 с SP 1 Beta (бета yikes ) и IIS Express.Я не знаю, имеет ли это смысл для вашей среды разработки, или это предотвратит блокировку ваших файлов, когда вы захотите сделать робокопию, но стоит взглянуть на это.

...