我在C#中有一个项目,每次尝试编译项目时都会出现此错误:
(无法将文件“obj \ Debug \ Project1.exe”复制到“bin \ Debug \ Project1.exe”。进程无法访问文件'bin \ Debug \ Project1.exe',因为它正由另一个进程使用。)
所以我必须从任务管理器关闭该过程。我的项目只有一种形式,没有多线程。
解决方案是什么(无需重启VS或终止进程)?
@Udpate:自从我第一次发布这个“答案”以来,我倾向于对问题进行另一种解释。从那时起,问题也越来越多地发生在Visual Studio之外 - 同时尝试将.exe文件从一个文件夹复制到另一个文件夹。虽然Windows首先不允许复制(!)一个.exe文件(它首先要求我提供管理权限,但无论如何都拒绝复制它)它仍然出现在资源管理器中。但过了一段时间 - 没有采取任何进一步的行动,它神奇地消失了。就像问题中的问题似乎总是在一段时间后解决。所以我假设,问题更多的是延迟删除项目输出文件而不是错误的VS.我为任何不合理的怀疑道歉。 :|
我想,这样就可以找到一个完全不同方向的解决方案。找到该链接并将更新任何进度:
https://superuser.com/questions/234569/windows-7-delayed-file-delete
========================================================================
这是VS中的已知错误。我经常发现它 - 主要是在VS2010中(有/没有SP1)。建议使用几种“解决方案”。其中一些,对我有所帮助:
这些都没有真正解决这个问题。但它可能会使VS恢复到可用状态 - 直到MS提供真正的解决方案(如果有的话)。
http://social.msdn.microsoft.com/Forums/en/vsdebug/thread/cea5e4b2-5b33-453c-bffb-8da9f1a1fa4a
http://social.msdn.microsoft.com/Forums/en/vbide/thread/cd12f3c7-de96-4353-adce-23975e30933f
我觉得它有用,:)
将程序集重命名为其他名称以解决此问题。
如果其他建议不适合您,此URL提出的解决方案帮助了我:http://weblogs.asp.net/fmarguerie/archive/2009/01/29/life-changer-xaml-tip-for-visual-studio.aspx
这个问题也与这个问题有关:VS2012 - XDesProc hangs when Xaml file is opened
由于某种原因,当我打开XAML文件然后构建时,XDesProc进程在使用主程序集的dll文件时停留在内存中
在重建解决方案之前,清除项目,停止IIS并打开“bin”文件夹属性。取消选中常规选项卡中的只读属性,然后重建。
我有同样的问题,在看完你的答案后,去了Task Manager
并搜索app.exe
,因为我相信也许它不会关闭。
找到它,选择它并做END TASK
。我的问题解决了。
我发现结束所有msbuild.exe任务(在任务管理器中)修复了VS2012的问题。
将Visual Studio作为Administrator
运行
我们最近在VS 2012 Update 2的WinPhone 8项目中体验过这一点。
令人费解的是,原因是使用了Tuple类型。删除使用元组的代码问题就消失了。添加代码返回返回的问题。
这听起来很疯狂,当我构建项目时,将显示错误,avast防病毒软件会将其显示为恶意企图,并且项目不会运行。我只是禁用我的防病毒并再次构建我的解决方案。缺少.EXE文件已创建,项目已成功执行。
或者你可以试试这个
Visual Studio build fails: unable to copy exe-file from obj\debug to bin\debug
我解决了这个问题,杀死了XDesProc
,它有一个无法删除的DLL句柄。
我也可以确认VS 2012 Update 2中存在此错误。
我的解决方法是:
我不知道这是否相关,但我的项目在其他项目的类文件中使用“Linked” - 它是一个Silverlight 5项目,并且共享一个兼容.NET和SL的类的唯一方法是链接文件。
需要考虑的事项......在单个解决方案中查找项目中的链接文件。
我有同样的问题,我修复它的方法是停止和禁用Windows中的“应用程序体验”服务。
不能直接回答你的问题..
可能出现的一种情况如下:
如果您的应用程序在调试过程中 - 例如通过“附加到进程”调试,则可能会出现此错误
如果遇到此错误,您可以按以下步骤操作
msbuild.exe
任务explorer.exe
任务explorer.exe
任务对我来说这是防病毒软件。只需将visual studio项目或整个父文件夹添加到防病毒排除列表,或者您也可以添加文件扩展名作为排除项,此方法适用于Visual Studio 2010/2012
解决方法1:
溶液2:
在预构建事件中添加以下代码:
attrib -r $(OutDir)*..\* /s
此命令行代码将删除“bin”文件夹的ready-only属性。现在,visual studio可以轻松删除和复制新的dll。
多年来我一直在努力。我终于下载了LockHunter来找出锁定文件的人。就我而言,它是MBAM。一旦我将项目的目录添加到MBAMs排除列表中,我就不再有这个问题了。
一个非常简单的解决方案是打开任务管理器(CTRL + ALT + DELETE),转到进程选项卡并按名称搜索仍在运行的项目名称的进程。杀死所有进程并继续! :)
在搜索和构建和重建后的一天,我发现你只需要关闭视觉工作室,看起来它在不同的线程中捕获服务
我的解决方案是:
我的Visual Studio 2019突然停止并重新启动,然后当我运行项目时出现此错误。
我通过进入我的项目文件夹并删除bin和obj文件夹来解决此问题然后清理并重建我的项目。这解决了我的问题。
转到您的项目属性。在构建事件内部,在预构建事件命令行下,添加以下两行代码:
if exist "$(TargetPath).locked" del "$(TargetPath).locked"
if exist "$(TargetPath)" if not exist "$(TargetPath).locked" move "$(TargetPath)" "$(TargetPath).locked"
这个解决方案对我有用:转到Build - > Configuration Manager - > Active solution platform - >选择x64(您可能需要创建新的),将Platform设置为x64并关闭
真正的问题不是你得到的错误;这是应用程序不会自行清理。
它要么继续引用,要么不释放资源,要么在被告知关闭时导致进程无法结束。修复该问题,此问题将自行解决。除非你发布你的代码,否则我们无法真正帮助你(在这一点上,如果你需要帮助,你应该开始一个新的问题)。
如果您查看obj目录,但没有看到您的.exe,则可能是Avast!或其他防病毒软件正在删除它。我实际上会看到.exe显示然后消失。一旦我关闭Avast!,问题就解决了。
VS2010 throwing "Could not copy the file "obj\x86\Debug\[file].exe" because it was not found."
发生这种情况是因为[yourProjectName].exe
进程在完成调试后没有关闭。
这个问题有两种解决方案。
System.Diagnostics.Process.GetCurrentProcess().Kill();
Application.Exit();
我不得不进入Windows资源管理器并删除bin / debug文件夹以及obj / debug文件夹。然后我清理并重建了项目。
在视觉工作室2012中看到类似的错误之后没有。我发现它转到项目的根文件夹并右键单击它我取消选中只读,这个错误就消失了。显然TFS有时会将文件夹设为只读。希望这可以帮助任何有类似问题的人。谢谢
在VS 2010和Win 7中发生了这种情况。案例:
我尝试过的:
如果All仍然无法正常工作。
然后,最后一种尝试方式: