链接:致命错误LNK1104:无法打开文件'D:\ ...\MyProj.exe'

Jon*_*han 49 executable locking visual-studio-2010 visual-studio

使用Visual Studio 2010,当我在短时间内构建+运行我的应用程序时,我经常会收到以下错误.如果我等一两分钟再试一次就可以了.Unlocker声称没有句柄锁定可执行文件.
我怎样才能发现锁定它的是什么?
如果它是Visual Studio本身,我该怎么做才能让它停止?或者发布文件?

1>------ Build started: Project: MyProj, Configuration: Release Win32 ------
...
1>InitializeBuildStatus:
1>  Creating "Release\MyProj.unsuccessfulbuild" because "AlwaysCreate" was specified.
1>ClCompile:
1>  All outputs are up-to-date.
1>  SomeFile1.cpp
1>ResourceCompile:
1>  All outputs are up-to-date.
1>LINK : fatal error LNK1104: cannot open file 'D:\...\MyProj.exe'
1>
1>Build FAILED.
1>
1>Time Elapsed 00:00:00.94
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Run Code Online (Sandbox Code Playgroud)

use*_*228 39

今天重新安装后有这个问题.确保已启动Application Experience服务,但未将其设置为禁用.如果设置为手动,我相信VS会启动它.

  • 这应该被设置为正确的答案.你刚刚保存了自己的Windows重新安装!我已经禁用了应用程序体验,VS一直给我这个错误.我再次启动它,它工作正常. (6认同)

C J*_*son 13

您可能有一个锁定可执行文件的杂散构建过程,并且它(杂散过程)没有得到清理.在这种情况下,关闭visual studio,打开进程资源管理器,并查找与visual studio相关的每个进程.然后再次打开visual studio并尝试重建您的项目.


小智 13

我知道这已经很老了,但是我在Visual Studio 2010中遇到了同样的问题所有补丁,所以其他人可能仍会遇到这个问题.

在我的AVG防病毒设置中将我的项目路径添加到"Exluded Items"似乎已经解决了我的问题.

尝试禁用任何防病毒/驻留屏蔽,看看它是否解决了问题.如果是这样,请将项目路径添加到AV配置中的排除目录.


Ily*_*gin 5

该文件可以被锁定,因为它现在正在运行.尝试使用任务管理器终止进程.

  • 它没有运行,我检查了任务管理器. (2认同)

Teb*_*ebe 5

正如乔纳森所说,是的,重命名可以帮助解决这个问题。但是,例如我被迫多次重命名目标可执行文件,这有些乏味而且不好。

问题在于,当你运行你的项目然后得到一个你无法构建你的项目的错误 - 这是因为这个可执行文件(你的项目)仍在运行(你可以通过任务管理器检查它。)如果你只是重命名目标构建,一段时间后,您也会收到与新名称相同的错误,如果您打开任务管理器,您将看到您的未完成项目的垃圾系统。

用于进行新构建的 Visual Studio 需要删除以前的可执行文件并创建新的而不是旧的,当可执行文件仍在运行时它无法执行此操作。因此,如果要进行新构建,则必须关闭旧可执行文件的进程!(奇怪的是,visual studio 不会自行关闭它,是的,它看起来像一些错误的行为)。

在此处输入图片说明

手动执行有些繁琐,所以您可能只是一个bat文件,遇到此类问题时只需单击它:

taskkill /f /im name_of_target_executable.exe
Run Code Online (Sandbox Code Playgroud)

它至少对我有用。就像猜测一样 - 我没有在 C++ 中正确关闭我的程序,所以 Visual Studio 让它运行可能是正常的。

ADDITION: 很有可能是这样,因为还没有完成申请。检查您是否最终调用了 PostQuitMessage,以便让 Windows 知道您已完成。