【问题标题】:Visual Studio 2010 File Locking is blocking ROBOCOPY from copying filesVisual Studio 2010 文件锁定阻止 ROBOCOPY 复制文件
【发布时间】:2011-06-28 14:52:07
【问题描述】:

Windows 7 64 位上的 Visual Studio 2010 正在锁定 .aspx、.ascx、.css 和 .js 文件。我是一名前端 Web 开发人员,我编写了一个 ROBOCOPY 脚本,以防止我必须对我们的解决方案进行完整构建。该解决方案具有一个后期构建步骤,用于将所有 Web 资产文件(非编译文件)复制到部署目录中。问题是这会触发 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 标志,但是在我 ctrl+C 然后再试一次之前,锁永远不会释放。有什么方法可以让 robocopy 接受锁定的文件,或者让 VS2010 不锁定打开编辑的文件?

【问题讨论】:

    标签: visual-studio visual-studio-2010 robocopy


    【解决方案1】:

    您可以使用 SysInternals 工具找出锁定文件的进程,我猜是 Cassini 网络服务器。如果是这样,那么可以使用带有 SP 1 Beta (beta yikes) 的 Visual Studio 2010 和 IIS Express 来代替 Cassini。我不知道这对您的开发环境是否有意义,或者它是否会在您想要执行 robocopy 时阻止您的文件被锁定,但值得一看。

    【讨论】:

      猜你喜欢
      • 2016-06-29
      • 1970-01-01
      • 2011-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-08
      相关资源
      最近更新 更多