在构建时得到错误

本文关键字:错误 构建 | 更新日期: 2023-09-27 18:04:20

一开始一切都很好。然后,突然间,当我准备启动应用程序时,Visual Studio构建失败了。我得到了警告"无法删除文件'…bin'Debug[ProjectName].exe'。访问路径"…bin'Debug[ProjectName].exe"被拒绝,错误"无法将文件"obj'x86'Debug[ProjectName].exe"复制到"bin'Debug[ProjectName].exe"。进程无法访问"bin'Debug[ProjectName].exe"文件,因为它正在被另一个进程使用。(我得到警告和错误时运行重建,但只有错误时运行构建-不认为这是相关的吗?)

我完全理解警告和错误信息所说的内容:Visual Studio显然试图覆盖前文件,同时由于某种原因对其进行锁定。然而,这并不能帮助我找到解决问题的方法……我发现唯一有效的方法是关闭Visual Studio并重新启动它。然后构建和启动工作,直到我对某些形式进行更改,然后我再次遇到同样的问题,不得不重新启动……太令人沮丧了!

正如我上面提到的,这似乎是一个已知的问题,所以有很多建议的解决方案。我将在这里列出我已经尝试过的,以便人们知道哪些可以跳过:

创建一个新的干净的解决方案,只是从旧的解决方案复制文件。将以下内容添加到项目的预构建事件中:

if exist "$(TargetPath).locked" del "$(TargetPath).locked" 
  if not exist "$(TargetPath).locked" if exist "$(TargetPath)" move "$(TargetPath)" "$(TargetPath).locked"

将以下内容添加到项目属性(。csproj文件):

<GenerateResourceNeverLockTypeAssemblies>true</GenerateResourceNeverLockTypeAssemblies>

然而,它们都不适合我,所以你可能知道为什么我开始有点沮丧了。我不知道还能去哪里找,所以我希望有人能给我点东西!这是一个错误在VS,如果是有补丁吗?或者我做错了什么,我有循环引用或类似的,如果有,我怎么才能发现?

任何建议都是非常感谢的:)

更新:正如下面评论中提到的,我也检查了使用进程资源管理器,它实际上是Visual Studio正在锁定文件

在构建时得到错误

关闭程序" ee . windows .exe" -您可能正在测试它并试图在不首先关闭它的情况下进行重建。

您必须在调试打开会话之前关闭会话。

你可以尝试杀死vshost.exe进程:

taskkill /F /IM ".....vshosts.exe"

链接:http://msdn.microsoft.com/en-us/library/ms185330(v=vs.100).aspx

在我看来,你已经通过双击文件系统中的exe手动运行了文件'debug'OEE.windows.exe。你正在尝试从visual studio构建你的项目。visual studio将在构建过程中创建新的文件oee.windows.exe,但是它无法这样做,因为同名的文件已经存在并且正在被一个进程使用。