visual-studio - 并行工作者中的 vcvars 文件访问被拒绝
问题描述
我有时会在 gitlab ci-cd worker 日志中遇到这种错误。
如何修复它并为 MSVC 项目设置并行构建?
**********************************************************************
** Visual Studio 2019 Developer Command Prompt v16.8.4
** Copyright (c) 2020 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64'
The process cannot access the file because it is being used by another process.
解决方案
我很好奇你是怎么调用msbuild.exe的,可能你调用了多个mbsuild.exe进程来对应一对一的构建项目。
如果您只是收到干扰 msbuild.exe 的外部程序,在遇到此问题之前,您应该打开任务管理器以关闭任何使用 uses 的进程msbuild.exe
。
如果你只是在 gitlab ci-cd 下启动多个 msbuild.exe 进程然后遇到问题(你已经在任务管理器下检查了没有其他程序使用 msbuild.exe),你已经更改为使用另一个功能:
创建一个名为test.proj
file 的文件,然后使用我的方法将要并行构建的任何项目文件(csproj
文件)或解决方案文件(文件)添加到文件中。这样您只需在 ci-cd 中输入一个文件。sln
test.proj
proj
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\MSBuild.exe xxx\test.proj -t:ParelBuild
在 gitlab ci-cd 下使用。
推荐阅读
- jestjs - 未调用 React-testing-library 模拟函数
- netty - 为什么netty不直接使用AsynchronousServerSocketChannel?
- java - 二叉树:0、1 或 2 个子节点的节点频率计数
- javascript - 如何阻止来自流 iframe(如 vidcloud)的弹出窗口?
- java - 如何创建 Throwables
? - c# - 参数 3:无法从 'bool' 转换为 'System.Text.Encoding'
- python - 如何加快 Pandas 应用函数在数据框中创建新列的速度?
- python-3.x - 如果这是结果,如何循环回到 scetion
- python - 查找超过最小值或最大值的值
- mysql - sql中select语句的执行过程,其中在WHERE CONDITION cluase中指定了相同的表名