Visual Studio 2017无法复制dll,因为它正被MSBuild使用.exe进程



我有一个解决方案,其中包含2个项目:a WPF Applicatin和a ClassLibrary(尝试了标准和框架模板)。WPFAPP引用了classLibrary。

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

无法将" obj debug classLibrary.dll"复制为" bin debug classLibrary.dll"。该过程无法访问文件'bin debug classLibrary.dll',因为另一个过程正在使用它。

如果我结束msbuild.exe进程,一切都很好(直到我在classLibrary上更改某些东西并尝试构建解决方案)

我尝试了

的前和后构建事件

taskkill/f/im msbuild.exe

但是它不起作用,只是遇到了一些新的错误。我想这是由于MSBUILD关闭ITSEFL。

您是否知道如何解决该问题或至少这种MSBUILD行为的原因是什么?

似乎FodyWeaver正在引起问题。

github项目页面的报价:

不支持:

[...]

  • 项目将旧的.csproj格式与新的<PackageReference>节点混合。

我认为Fody只是搞砸了构建过程。也许它可以执行类似于构建任务(如@CrowCoder所建议的),因此MSBUILD锁定了DLL。

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

最新更新