43

突然,我的 Visual Studio Express 2010 C++ 停止重建我的项目。当我第一次点击F7项目构建并运行良好时(见鬼,这是一个你好世界的例子)。

然后我进行一些更改并F7再次点击,然后我得到:

1>LINK : fatal error LNK1168: cannot open C:\Users\username\Documents\Visual Studio 2010\Projects\console\Debug\console.exe for writing**<br><br>

现在有趣的事情来了:

  1. 该应用程序未运行,并且未显示在任务管理器中。
  2. 进入项目目录并尝试用手将其删除会成功,但文件再次从无处出现。
  3. 系统还原被禁用。
  4. 我还试图获得整个该死的驱动器的所有权。
  5. 每次我删除文件时,它都会重新创建自己,但有时它会停止这样做。
  6. 如果我删除该文件(并在此之后重新创建),然后我启动 sysinternals procmon,那么该文件就会消失。
  7. 如果我之前启动 procmon - 那么文件会像往常一样在删除后继续出现。

操作系统:W7 SP1 64 位,带有最新更新

请问有什么想法吗?

4

14 回答 14

81

问题可能是您忘记关闭程序,而是让程序在后台运行。

找到运行exe文件程序的控制台窗口,点击右上角的X将其关闭。然后尝试重新编译程序。就我而言,这解决了问题。

我知道这个帖子很旧,但我正在为像我这样通过搜索引擎找到这个帖子的其他人回答。

于 2013-07-06T06:53:00.267 回答
23

启用“应用体验”服务。启动控制台窗口并键入net start AeLookupSvc

于 2012-08-25T17:48:12.053 回答
16

当构建在加载之前突然关闭时,我遇到了这个问题。任务管理器中不会显示任何进程,但如果您导航到项目文件夹中生成的可执行文件并尝试删除它,Windows 会声称该应用程序正在使用中。(如果没有,只需删除文件并重新生成,这会生成一个新的可执行文件)在 Windows(Visual Studio 2019)中,该文件默认位于此目录中:

%USERPROFILE%\source\repos\ProjectFolderName\Debug

要结束据称正在运行的进程,请打开命令提示符并键入以下命令:

taskkill /F /IM ApplicationName.exe

这会强制终止任何正在运行的实例。重建并执行!

于 2019-09-17T16:20:37.487 回答
13

重新启动 Visual Studio 为我解决了这个问题。

于 2017-01-07T18:15:15.603 回答
4

就我而言,清理和重建项目解决了这个问题。

于 2014-03-02T15:35:36.960 回答
1

好吧,我实际上只是保存并关闭了项目并在 Windows 8 中重新启动了 VS Express 2013,这就解决了我的问题。

于 2015-04-08T17:50:46.393 回答
1

原因是您之前的构建仍在后台运行。我通过以下步骤解决了这个问题:

  • 打开任务管理器
  • 转到详细信息选项卡
  • 查找您的应用程序
  • 通过右键单击它来结束任务
  • 完毕!
于 2020-08-04T12:48:14.760 回答
1

如果上述解决方案不起作用,您可以试试这个对我有用的方法。

打开提升的命令提示符 ( cmd -> Run as administrator),然后编写以下命令并按 Enter:

wmic process where name='YOUR_PROCESS_NAME.exe' delete

如果您看到一条消息:Instance deletion successful.,那么您将再次能够从 VS 构建和运行项目。

例如,在 OP 的情况下,命令将是:

wmic process where name='console.exe' delete
于 2021-08-03T09:06:54.830 回答
0

当从未执行 FindClose 时,不正确使用 FindNextFile 等函数也可能是一个问题。构建文件的进程终止,构建本身可以删除,但LNK1168会因为打开句柄而阻止重新构建。这可能会在 Explorer 中创建句柄泄漏,可以通过终止和重新启动 Explorer 来解决,但在许多情况下需要立即重新启动。

于 2015-10-09T02:44:43.157 回答
0

我知道这是一个老问题,但我想我会分享我是如何解决这个问题的。

如果您使用的是 Visual Studio 并且出现此错误,您可以尝试附加到进程 (CTRL+ALT+P) 并找到“(program).exe”进程。当您尝试附加到它时,将显示一个错误,指出它无法附加,这会从“运行”中删除该进程(即使它不是......)您还可以从中删除(程序).exe你的调试文件夹。

希望这对某人有帮助!:)

于 2019-10-04T05:25:41.227 回答
0

终于找到了最适合我的最佳方式

除以下内容外,此页面中的所有解决方案均不适合我

在第二个答案的评论部分下方,尝试以下操作:

添加到我上面的评论中,任务管理器不会显示 filename.exe 进程,但资源监视器会显示,所以我可以从那里杀死它,从而解决问题而无需重新启动。– A__ 2019 年 6 月 19 日 21:23

于 2020-08-14T14:32:49.750 回答
0

如果上述建议都不适合您,对我来说就是这种情况,只需更改项目名称即可。它在新项目名称中创建一个新的 exe。稍后当您重新启动时,您可以将其更改回原来的项目名称。

于 2021-08-22T09:43:01.693 回答
-1

我也有同样的问题。我的控制台窗口不再打开,但我可以通过转到任务管理器中的进程来查看我的应用程序正在运行。进程名称是我的应用程序的名称。一旦我结束了这个过程,我就能够毫无问题地构建和编译我的代码。

于 2013-09-12T23:54:28.440 回答
-4

以管理员身份启动您的程序。该程序无法重写您的文件,因为您的文件位于硬盘驱动器上的受保护位置。

于 2014-01-06T15:07:01.020 回答