0

有没有办法让 VS 2008 在构建项目之前总是杀死 w3wp 进程?我觉得它曾经在我的机器上执行此操作,但现在我总是必须在开始构建之前手动杀死它,否则它将无法将新的二进制文件部署到我的本地主机。

编辑:

如果我在 VS 2008 中开始构建之前没有手动终止该进程,我会收到以下错误消息:

错误 1:无法将文件“UPDATED_DLL_I_JUST_BUILT”复制到“DLL_CURRENTLY_ON_SERVER”。该进程无法访问文件“DLL_CURRENTLY_ON_SERVER”,因为它正被另一个进程使用。

4

4 回答 4

1

哪个w3wp.exe进程?其中可能不止一个。

假设您有权执行此操作,您可以创建一个预构建脚本来执行此操作。如果多个开发人员正在构建这个项目,或者如果您正在运行自动构建,那么您需要确保在这些情况下它可以工作(并且是需要的)。

于 2009-04-08T18:15:56.093 回答
1

您可以将 iisreset 作为 Web 项目的预编译步骤的一部分。

于 2009-04-08T18:18:18.443 回答
1

正如其他人所说,添加一个预构建事件。这是一个命令:

taskkill /F /IM w3wp.exe

(正如评论中指出的,这不适用于 Windows XP Home)

于 2009-04-08T18:25:21.377 回答
0

如果需要,您可以添加预构建事件来终止进程。您将这些添加到项目的属性表中。

作为一个附带问题,您为什么要/需要在每个构建中杀死 w3wp.exe?

于 2009-04-08T18:16:24.720 回答