visual-studio-2010 - Visual Studio 2010 设计器错误 : Unable to copy from obj\debug to bin\debug

标签 visual-studio-2010 debugging filelock

想知道是否有人对此 2010 年错误有解决方案。我有一个在 Visual Studio 2008 中构建良好的项目,但在 2010 年无法构建,因为仅当设计器窗口打开时,Visual Studio 才会在应用程序运行后保留 dll。我创建了一个非常轻量级的项目来展示这个问题。如果您创建一个应用程序,则创建一个 lib dll。将一个窗体放在 dll 中,在设计 View 中打开窗体,然后运行应用程序。它将运行良好,然后关闭应用程序,在设计 View 中转到表单的代码 View ,并更改代码(我只是重命名了一个变量)然后尝试重新编译您得到以下内容:

错误 1 ​​无法将文件“obj\Debug\customlib.dll”复制到“build\debug\customlib.dll”。该进程无法访问文件“build\debug\Customlib.dll”,因为它正被另一个进程使用。

如果您运行 Process Explorer 并搜索 dll,则持有该 dll 的唯一进程是 devenv.exe !!!

我已经对这个问题进行了大量搜索,并在旧版本的 Dev Studio 中发现了类似的问题,人们只能add a pre-step将锁定的 dll 移动到另一个名称 (.locked) 并构建。嗯,第一次有效,但是下次运行然后编辑时,您将被锁定在当前 dll 和您移动到 ​​.locked 的那个之外,所以除非我愿意添加代码来随机生成锁定的 dll 的名称,这对我不起作用(我不希望我的调试目录大小随着文件永远不会被删除而增长。)

我只找到了一种解决方法,如果您在同一条船上,这就是我必须做的来编辑和运行。在我在调试器中运行我的项目之前,我确保每个设计 View 窗口都已关闭。如果关闭所有打开的设计 View windows devenv.exe 将不会保存 dll。

有没有人对这个问题有更好的解决方案?

最佳答案

我不确定这是否适合您,但是 this similar question如果您在 AssemblyInfo.cs 中有这一行:

[assembly: AssemblyVersion("2.0.*")]

将其更改为:
[assembly: AssemblyVersion("2.0.0.0")]

将解决这个问题。

Visual Studio 附加组件“VSCommands”声称已修复此问题。我还没有测试过它,但它也声称有一个在 IDE 中的 stackoverflow 声誉跟踪器,这让我很感兴趣:)

您的“调试前关闭设计器”解决方法似乎对我有用 (到目前为止),对此我非常感激。它开始进入这样一个阶段,我一天中的大部分时间都花在了以下工作流程中……
  • F5
  • loud expletive

  • ALT F4
  • 赢3
  • waits impatiently...

  • F5
  • 关于visual-studio-2010 - Visual Studio 2010 设计器错误 : Unable to copy from obj\debug to bin\debug,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3515650/

    相关文章:

    c - 标准输入和标准输出的使用

    c# - 如何定义到 SQL Server 2008 数据库的连接字符串?

    java - Java 文件锁定机制(FileLock 等)的问题

    java - 这些 HPROF 错误是什么意思?

    Python 3 Windows 服务仅在 Debug模式下启动

    centos - 二级用户的 Lizardfs 或 Musefs 文件锁定

    python filelock模块删除文件

    winforms - Visual Studio Intellisense 一直在骗我

    asp.net-mvc - 在 Visual Studio 2010 中,如何调用 MVC 应用程序上的 "View In Browser"功能?

    debugging - Node 检查器 : Running Code - Not Just Stepping Through