Windows 7 64位上的Visual Studio 2010锁定.aspx,.ascx,.css和.js文件。我是一名前端Web开发人员,我编写了一个ROBOCOPY脚本,以防止我完全构建我们的解决方案。解决方案具有后构建步骤,以将所有Web资产文件(非编译文件)复制到deploy目录中。问题是这会触发IIS重新启动应用程序并需要重新登录,因此这是一个痛苦的选择,尤其是当我希望能够对css,js和html模板进行快速,增量更新时。
ROBOCOPY bat文件:
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标志,但锁定永远不会释放,直到我按c + C然后再试一次。有没有办法让robocopy接受锁定的文件,或者VS2010没有锁定可以编辑的文件?
答案 0 :(得分:0)
您可以使用SysInternals工具找出锁定文件的进程,我猜这是Cassini网络服务器。如果是这样,那么可以使用带有SP 1 Beta(beta yikes )和IIS Express的Visual Studio 2010来代替Cassini。我不知道这对你的开发环境是否有意义,或者当你想要进行robocopy时它是否会阻止你的文件被锁定,但是值得一看。