有时在 IIS6 中部署 .NET 代码时,我无法重命名或删除 .NET 应用程序文件夹,因为它正在使用中。唯一似乎解决它的方法是停止 w3svc 服务,做我需要做的事情然后重新启动它。
当 Web 服务器上提供其他 Web 应用程序时,这并不理想。仅仅停止那个特定的虚拟网站似乎也不起作用。
有一个更好的方法吗?
有时在 IIS6 中部署 .NET 代码时,我无法重命名或删除 .NET 应用程序文件夹,因为它正在使用中。唯一似乎解决它的方法是停止 w3svc 服务,做我需要做的事情然后重新启动它。
当 Web 服务器上提供其他 Web 应用程序时,这并不理想。仅仅停止那个特定的虚拟网站似乎也不起作用。
有一个更好的方法吗?
尝试这个:
将 AppOffline.aspx 文件拖放到要进行更改的目录中。这将允许您重命名或删除该目录或其中的任何文件夹/文件。我总是使用名为 AppOfflineNOT.aspx 的文件进行部署。然后根据需要删除/替换“NOT”。这样您在更新站点时就不必弄乱 iis。
这里有一个类似的问题:How to get IIS7 to release a locked file?
如果你真的需要经常改变它,你可以,
这是解决上述所有问题的一种非常简单的方法。
这将启动和停止服务,并在您刷新代码之前释放任何挥之不去的进程。只要准备好在命令完成后立即推送您的代码,以避免任何人跳到服务器上并创建锁。我通常会编写一个 xcopy 脚本以在之后立即运行。