我有一个包含2个项目的解决方案:WPF Applicatin
和ClassLibrary
(尝试了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
后,问题消失了。