C# 无法复制文件。进程无法访问该文件,因为其他进程正在使用该文件

C# 无法复制文件。进程无法访问该文件,因为其他进程正在使用该文件,c#,dll,C#,Dll,到目前为止,我还没有找到解决以下问题的办法 无法将文件“obj\Debug\Tax2010.dll”复制到“bin\Tax2010.dll”。进程无法访问文件“bin\Tax2010.dll”,因为另一进程正在使用该文件 在我的例子中,我在一个名为“Tax2010”的解决方案下有两个项目 1) Calc和Calc.DLL(包含.cs类文件) 2) Tax2010和Tax2010.DLL(包含.aspx页面以及相应的.cs文件和其他.cs类文件) 我已经配置了两个项目,将它们各自的.dll复制到一

到目前为止,我还没有找到解决以下问题的办法

无法将文件“obj\Debug\Tax2010.dll”复制到“bin\Tax2010.dll”。进程无法访问文件“bin\Tax2010.dll”,因为另一进程正在使用该文件

在我的例子中,我在一个名为“Tax2010”的解决方案下有两个项目

1) Calc和Calc.DLL(包含.cs类文件)

2) Tax2010和Tax2010.DLL(包含.aspx页面以及相应的.cs文件和其他.cs类文件)

我已经配置了两个项目,将它们各自的.dll复制到一个公共bin目录下 Tax2010目录

以下是项目的总体层次结构

Tax2010 Tax2010 Bin Tax2010.DLL Calc.DLL UI ....aspx ....cs CL ....cs ....cs Calc AK ....cs ....cs 税种2010 税种2010 箱子 Tax2010.DLL Calc.DLL 用户界面 …aspx …cs 氯 …cs …cs 计算 AK …cs …cs 每当我对.cs文件进行任何更改并尝试构建项目时,就会出现问题。不过,值得注意的一点是,我没有通过IIS运行应用程序。它使用的是WebDev.WebServer.Exe。我现在是怎么处理的

1) 删除obj文件夹并生成PEObject。它很好用

2) CTRL+ALT+DEL->任务管理器->进程->WebDev.WebServer.Exe->结束进程


现在我厌倦了做这种单调的工作。请有人想出一些令人惊叹的解决方案。现在就足够了。

您不能添加一个生成事件来清理obj文件夹吗(嗯……这是您在第一个解决方案中所说的……但我认为可能是BIN文件夹,而不是obj)在每个生成上自动执行?

为什么要将所有生成的DLL复制到一个输出目录?这可能是您首先遇到问题的原因。您是否使用Firefox/Chrome/Safari作为运行网站的默认浏览器?Visual Studio似乎无法识别这些浏览器何时关闭,何时无法终止WebDev.WebServer.exe。我过去曾遇到过这个问题,而使用该过程的罪魁祸首始终是我自己的程序。检查代码,确保对DLL的任何引用都已正确清理。另外,作为一个附带问题,您是否在DLL中使用位图?我的解决方案是在“预构建事件”中从命令行停止IIS Express进程