我有一个包含2个项目的解决方案:WPF ApplicatinClassLibrary(尝试了Standard和Framework模板)。 WPFApp引用ClassLibrary。

问题是:当我尝试构建解决方案时,出现以下错误:


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


如果我结束了MSBuild.exe进程,则一切正常(直到我在ClassLibrary上进行了一些更改并尝试构建解决方案)

我尝试了构建前和构建后的事件


  taskkill / F / IM MSBuild.exe


但这不起作用,只是出现了一些新错误。我想这是由于MSBuild关闭了它的efl。

您是否有关于如何处理该问题的想法,或者至少是什么原因导致这种MSBuild行为?

最佳答案

似乎是FodyWeaver引起了此问题。

the project page on GitHub引用:


  不支持:
  
  [...]
  
  
  项目将旧的.csproj格式与新的<PackageReference> nodes混合在一起。
  


我认为Fody搞砸了构建过程。也许它执行类似于构建任务(如@Crowcoder所建议的操作)的操作,因此MSBuild锁定了dll。

切换回packages.config后,问题消失了。

09-25 23:38