0

所以我有一个几周前开始的问题问题是当我在 azure devops 管道中使用 vstest 作为测试引擎运行 SpecFlow 项目时,会抛出以下异常错误消息:

该进程无法访问文件 'D:\a\1\s{projectName}\bin\Debug\netcoreapp3.1\bin\Debug\Results{projectName}_{specificDate}.log',因为它正被另一个进程使用.

'.log' 文件位于内部文件夹中是由于我尝试过的一种可能的解决方案(在 SpecFlow 的 .srprofile 中,我将 'outputFolder="bin\Debug\Results"' 属性添加到 'Settings' 标记),但这没有帮助。显然,我更新了specflow的所有nuget包

我尝试在“dotnet”测试引擎中使用,但没有发生。

它不会在本地重现,只有当我尝试从 azure 执行时。

我尝试添加“使用 .NET Core 任务”,但没有解决问题。

问题发生在每个项目/dll

安装在解决方案中的 Specflow 库:

  • 规范流
  • SpecFlow.Tools.MsBuild.Generation
  • SpecRun.SpecFlow

所以我的问题是:可能是什么原因?除了 specflow 本身,另一个进程如何尝试访问日志文件?

4

1 回答 1

0

更改顶部的构建配置(如果在“Release”中为“Debug”,反之亦然),构建然后更改回之前的配置并再次构建。

打开运行和阻塞的.Net核心进程,如果在windows上,只需通过任务管理器将其杀死。 在此处输入图像描述

尝试关闭并重新启动 VS,以便它释放对文件的锁定。

于 2021-09-03T07:40:11.517 回答