0

我有一个托管在服务器中的 c#(不在核心)中的 Gauge 测试项目。然后有一个外部工具可以为不同的标签发送仪表运行命令。它几乎同时发送 17 个带有不同标签的运行命令。我限制了 10 个调用的并发性,所以只有 10 个通过(有点离题)。但是,对于这 10 个请求,仪表似乎仍然需要使用 gauge-bin 文件夹,因为我很少收到以下错误:

D:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(1819,5):警告 MSB3101:无法写入状态文件“obj\Any CPU\Debug\TestAutomation.csprojResolveAssemblyReference.cache” . 该进程无法访问文件“D:\home\site\wwwroot\Gauge\Apps\TestAutomation\obj\Any CPU\Debug\TestAutomation.csprojResolveAssemblyReference.cache”,因为它正被另一个进程使用。[D:\home\site\wwwroot\Gauge\Apps\TestAutomation\TestAutomation.csproj]

D:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(4411,5):错误 MSB3491:无法将行写入文件“obj\Any CPU\Debug\TestAutomation.csproj.FileListAbsolute 。文本文件”。该进程无法访问文件“D:\home\site\wwwroot\Gauge\Apps\TestAutomation\obj\Any CPU\Debug\TestAutomation.csproj.FileListAbsolute.txt”,因为它正被另一个进程使用。[D:\home\site\wwwroot\Gauge\Apps\TestAutomation\TestAutomation.csproj]

我知道这些文件位于 obj\Any CPU\Debug 中。我不知道如何找到解决方法来避免此错误。我的第一个想法是删除 obj 文件夹中的文件,因为之后测试似乎运行良好。但是,当我执行测试时仍然会生成这些文件。

4

1 回答 1

1

此错误表明有多个msbuild进程试图同时构建同一个项目。这会导致obj文件夹中的资源冲突。

如果你需要同时运行同一个Gauge项目,你可以试试这样的:

  • 首先构建项目(外部仪表)。
  • 从上面设置GAUGE_CUSTOM_BUILD_PATH为输出文件夹的位置..
  • gauge run specs

这将使用预构建的二进制文件来执行测试。您可能还会看到运行时间的改进。

于 2018-07-20T05:41:01.900 回答