我在C#中有一个项目,每次尝试编译项目时都会出现此错误:
(无法将文件“obj \ Debug \ Project1.exe”复制到“bin \ Debug \ Project1.exe”。进程无法访问文件'bin \ Debug \ Project1.exe',因为它正由另一个人使用过程。)
所以我必须从任务管理器关闭该过程。我的项目只有一种形式,没有多线程。
解决方案是什么(不重启VS或终止进程)?
答案 0 :(得分:27)
@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
答案 1 :(得分:19)
我也可以确认VS 2012 Update 2中存在此错误。
我的解决方法是:
我不知道这是否相关,但我的项目在其他项目的类文件中使用“Linked” - 它是一个Silverlight 5项目,并且共享一个兼容.NET和SL的类的唯一方法是链接文件。
需要考虑的事项......在单个解决方案中查找项目中的链接文件。
答案 2 :(得分:17)
转到您的项目属性。 在构建事件内部,在预构建事件命令行下,添加以下两行代码:
if exist "$(TargetPath).locked" del "$(TargetPath).locked"
if exist "$(TargetPath)" if not exist "$(TargetPath).locked" move "$(TargetPath)" "$(TargetPath).locked"
答案 3 :(得分:9)
真正的问题不是你得到的错误;这是应用程序没有自行清理。
它要么继续引用,要么不释放资源,要么在被告知关闭时导致进程不结束的其他内容。修复该问题,此问题将自行解决。除非你发布你的代码,否则我们无法真正帮助你(在这一点上,如果你需要帮助,你应该开始一个新的问题。)
答案 4 :(得分:9)
如果你查看obj目录,但是你没有看到你的.exe,那么Avast可能就是这样!或其他防病毒软件正在删除它。我实际上会看到.exe显示然后消失。一旦我关闭Avast!,问题就解决了。
VS2010 throwing "Could not copy the file "obj\x86\Debug\[file].exe" because it was not found."
答案 5 :(得分:6)
这种情况正在发生,因为[yourProjectName].exe
进程在完成调试后没有关闭。
这个问题有两种解决方法。
每次更改应用程序时,请转到任务管理器 - >流程 - > [yourProjectName] .exe,结束此过程。每次更改系统时都必须结束此过程。
在应用程序中添加退出按钮以退出窗口并将这些行添加到单击事件
System.Diagnostics.Process.GetCurrentProcess().Kill();
Application.Exit();
答案 6 :(得分:5)
我不得不进入Windows资源管理器并删除bin / debug文件夹以及obj / debug文件夹。然后我清理了&重建了这个项目。
答案 7 :(得分:3)
在2012年的视觉工作室中看到类似的错误。我发现它转到项目的根文件夹并右键单击它我取消选中只读,这个错误就消失了。显然TFS有时会将文件夹设为只读。希望这可以帮助任何有类似问题的人。感谢
答案 8 :(得分:3)
这在VS 2010和Win 7上发生在我身上。 案例:
我尝试过:
停止防病毒,使用任务管理器和ProcessExplorer检查荒谬的运行程序
以管理员身份运行VS
如果所有方式仍无效。
然后,最后一种尝试方式:
答案 9 :(得分:2)
我发现它有效,:)
答案 10 :(得分:2)
将程序集重命名为其他名称以解决此问题。
答案 11 :(得分:1)
我遇到同样的问题,在看完你的答案后,前往Task Manager
并搜索app.exe
,因为我相信也许它不会关闭。
找到它,选择它并做END TASK
。我的问题解决了。
答案 12 :(得分:1)
我发现结束所有msbuild.exe任务(在任务管理器中)修复了VS2012的问题。
答案 13 :(得分:1)
在重建解决方案之前,清除项目,停止IIS并打开“bin”文件夹属性。取消选中常规标签中的只读属性,然后重建。
答案 14 :(得分:1)
如果其他建议不适合您,此网址提出的解决方案帮助我: 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文件时停留在内存中
答案 15 :(得分:0)
错误是-无法复制文件或无法复制文件。 这意味着当 Visual Studio 文件打开时,无法进行任何复制文件交易。所以关闭所有打开的文件和文档。
答案 16 :(得分:0)
此解决方案适用于我: 转到Build-> Configuration Manager-> Active solution platform->选择x64(您可能必须创建新的),将Platform设置为x64并关闭
答案 17 :(得分:0)
我也有同样的问题。我解决了
关闭我的VS,然后在任务管理器中,结束诸如Microsoft VisualStudio WCF工具,MSBuild.exe之类的任务
然后打开VS并清理并重建。
答案 18 :(得分:0)
无论造成此问题的原因是什么,对我来说唯一可行的解决方案如下:
转到您的项目属性->“应用程序”选项卡(第一个选项卡)->更改程序集名称。
这样,您的应用程序每次更改程序集名称时都会创建一个新的程序集文件。
最后,在完成开发后,您可以删除所有这些多余的程序集文件,而仅保留最后一个(主文件)。除此以外,没有其他解决方案对我有用。总比没有好。
答案 19 :(得分:0)
我的Visual Studio 2019突然停止并重新启动,然后在我运行项目时出现此错误。
我通过进入项目文件夹并删除bin和obj文件夹来解决此问题 然后清理并重建我的项目。这解决了我的问题。
答案 20 :(得分:0)
禁用任何Anti Ransomware
(如MalwareBytes
)运行,然后应解决该问题。
答案 21 :(得分:0)
在我的情况下,问题出在网络配置中。 我刚刚删除
<system.web>
<hostingEnvironment shadowCopyBinAssemblies="false" />
</system.web>
答案 22 :(得分:0)
我的解决方案是:
答案 23 :(得分:0)
在搜索和构建和重建后的一天,我发现你只需要关闭视觉工作室,看起来它在不同的线程中捕获服务
答案 24 :(得分:0)
一个非常简单的解决方案是打开任务管理器(CTRL + ALT + DELETE),转到进程选项卡并按名称搜索仍在运行的项目名称的进程。杀死所有进程并继续! :)
答案 25 :(得分:0)
答案 26 :(得分:0)
对我来说这是防病毒软件。只需将visual studio项目或整个父文件夹添加到防病毒排除列表,或者您也可以添加文件扩展名作为排除项,此方法在visual studio 2010/2012中适用于我
答案 27 :(得分:0)
如果遇到此错误,您可以按以下步骤继续操作
msbuild.exe
任务explorer.exe
任务explorer.exe
任务答案 28 :(得分:0)
不是你问题的直接答案..
下面列出了可能出现的一种情况 -
如果您的应用程序处于调试过程中 - 例如&#34;附加到流程&#34;调试,可能会出现此错误
答案 29 :(得分:0)
我有同样的问题,我修复它的方法是停止并禁用Windows中的“应用程序体验”服务。
答案 30 :(得分:0)
我通过杀死XDesProc
解决了这个问题,{{1}}有一个无法删除的DLL句柄。
答案 31 :(得分:0)
这将是疯狂的,当我构建项目时,将显示错误,avast防病毒软件会将其显示为恶意企图,并且项目不会运行。我只是禁用我的防病毒软件并再次构建我的解决方案。 EXE文件已创建,项目已成功执行。
或者你可以试试这个
Visual Studio build fails: unable to copy exe-file from obj\debug to bin\debug
答案 32 :(得分:0)
我们最近在VS 2012 Update 2的WinPhone 8项目中体验过这一点。
令人费解的是,原因是使用了Tuple类型。删除使用元组的代码问题就消失了。添加代码返回返回的问题。
答案 33 :(得分:0)
以Administrator
答案 34 :(得分:-1)
我遇到了同样的问题,所以我以这种方式解决了。
步骤1 :关闭Vb
。
第2步:只需转到您的项目目录并删除Bin
文件夹即可。
第3步:打开Vb
。