为什么vsdebug没有生成obj文件_Visual Studio构建失败:无法将exe文件从obj \ debug复制到bin \ debug...

在使用Visual Studio 2010开发C# Windows窗体应用程序时,开发者遇到构建失败的问题,错误提示为无法删除或复制文件,原因是文件被另一个进程锁定。尝试过的解决方案包括清理解决方案、修改预构建事件和项目属性,但均未解决问题。使用Process Explorer检查发现是Visual Studio自身锁定了文件。寻求解决此类问题的建议。
摘要由CSDN通过智能技术生成

更新: 可在Microsoft

Connect上找到重现此错误的示例项目。我还测试并验证了下面接受的答案中给出的解决方案可用于该示例项目。如果此解决方案不适合您,则可能是您遇到了其他问题(属于一个单独的问题)。

这是之前在Stack Overflow和其他地方都提出过的问题,但是到目前为止,我发现的任何建议都没有帮助我,所以我只需要尝试提出一个新问题。

场景:我有一个简单的Windows窗体应用程序(C#、. NET 4.0,Visual Studio

2010)。它具有大多数其他表单都继承的几个基本表单,它使用实体框架(和POCO类)进行数据库访问。没什么花哨的,没有多线程的。

问题:暂时一切都很好。然后,当我要启动应用程序时,Visual Studio突然无法构建。我收到警告 “无法删除文件’… bin \ Debug \

[ProjectName] .exe’。访问路径’… bin \ Debug \ [ProjectName] .exe’被拒绝。” 错误

“无法将文件’obj \ x86 \ Debug \ [ProjectName] .exe”复制到’bin \ Debug \ [ProjectName]

.exe’。该进程无法访问文件’bin \ Debug \ [ProjectName] .exe” “因为它正在被另一个进程使用。”

(我在运行Rebuild时收到警告和错误,但在运行Build时仅收到错误-认为不相关吗?)

我完全理解警告和错误消息的含义:Visual

Studio显然试图覆盖exe文件,而由于某种原因同时锁定了该文件。但是,这并不能帮助我找到解决问题的方法…我发现唯一可行的方法是关闭Visual

Studio,然后重新启动它。然后构建和启动就可以了,直到我对某些表格进行了更改,然后又遇到了同样的问题,必须重新启动…真令人沮丧!

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

创建一个新的干净的解决方案,只需复制旧解决方案中的文件即可。

将以下内容添加到项目的预构建事件中:

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

if not exist “$(TargetPath).locked” if exist “$(TargetPath)” move “$(TargetPath)” “$(TargetPath).locked”

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

true

但是,它们都不适合我,因此您可能会明白为什么我开始变得有些沮丧。我不知道还能去哪里,所以我希望有人能给我一些东西!这是VS中的错误吗?如果是,是否有补丁?还是我做错了什么?是否有通函或类似文件?如果是,我如何找出来?

任何建议都受到高度赞赏:)

更新: 正如在评论中提及下面,我也使用Process Explorer的,它实际上检查 是 Visual Studio中被锁定的文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值