C++ DLL已锁定-Visual Studio 2010 C++;

C++ DLL已锁定-Visual Studio 2010 C++;,c++,windows,git,visual-studio-2010,dll,C++,Windows,Git,Visual Studio 2010,Dll,我当前登录到一台计算机,我当前的问题涉及一个自定义生成步骤,该步骤在将.dll复制到Bin目录时遇到问题,因为Windows说它无法访问该文件,因为它当前正被另一个进程使用 我可以在其他几个项目上复制这个。事件的顺序是,我成功地构建了一个发布,进行了一些测试,在执行git对分时签出了另一个SHA,并尝试在不执行git clean-xfd的情况下从该SHA构建一个发布(有意地,因为我试图缓存尽可能多的可重用数据)。奇怪的是,我试图使用Process Explorer(procexp)和taskli

我当前登录到一台计算机,我当前的问题涉及一个自定义生成步骤,该步骤在将.dll复制到Bin目录时遇到问题,因为Windows说它无法访问该文件,因为它当前正被另一个进程使用

我可以在其他几个项目上复制这个。事件的顺序是,我成功地构建了一个发布,进行了一些测试,在执行git对分时签出了另一个SHA,并尝试在不执行git clean-xfd的情况下从该SHA构建一个发布(有意地,因为我试图缓存尽可能多的可重用数据)。奇怪的是,我试图使用Process Explorer(procexp)和
tasklist/m
来搜索这个dll上的任何内容,但找不到这个dll上的任何内容。我使用的是非管理员帐户,我不确定这是否导致Windows对我隐藏某些进程。重新启动机器会有所帮助,但这不是一个可接受的解决方案,因为我正在尝试将事情自动化。我可以删除.dll,当我尝试在VS中构建项目时,它会抱怨在尝试将其复制到Bin文件夹时仍然无法访问该dll。有什么想法吗?我会继续研究这个问题,但现在,我有点不知所措

编辑:
这似乎是一个重复的问题(),但我将保留此问题,以查看是否有人发现了与此主题相关的新问题。

我在VS 2010中看到了此问题,其中包含多个项目的大型.Net解决方案。到目前为止,我看到的每一个案例都涉及到一个项目,该项目具有依赖性DLL,而另一个项目也使用该项目作为参考,并且还使用与第一个项目不同的版本的相同依赖性DLL

用另一种方式来描述它:

项目A取决于DLL A的v1

项目B依赖于项目A和DLL A的v2

项目A和B都在同一个解决方案中


解决方案是使用相同版本的DLL A。升级到新版本的SQLite时,我通常会遇到这种情况,我忘记了更新所有项目中的依赖项。

在与一些同事交谈后,我找到了解决问题的方法。procexp和tasklist没有看到哪个进程正在锁定dll,因为在该
特定计算机上没有进程锁定dll


我有一个硬件配置,其中机器a(主机PC)使用网络交换机连接到机器B(充当从机器a检索指令的客户端)。机器B运行链接到相同dll的相同二进制文件。因此,显然,在机器A上运行procexp或tasklist不会看到任何锁定dll的内容,因为机器B是罪魁祸首。

只是出于好奇,当您尝试使用管理员帐户时会发生什么?(假设你能得到一个。)我不确定。不幸的是,我不能得到一个。