问题描述
我有一个 TFS CI 构建每次都失败,尽管如果我转到 TFS 控制台并复制正在执行的确切命令并将其复制/粘贴到同一台机器上的 CMD 提示符并运行它,它运行良好。这怎么可能?我遇到过 TFS 正在调用不同版本的 MSBuild 的情况,但该命令确切地指定了在哪里可以找到 MSBuild,因此不可能。许多错误中的第一个是:“Shared\QCImage\GliffTool.cs(4,7): Error CS0246: The type or namespace name 'PacsForm' Could not be found(您是否缺少 using 指令或程序集引用?)" 如果我在 VS 中运行这个构建它工作正常,但真正的问题是 exact 命令在直接运行时工作。到底是怎么回事?
这是本地托管的 TFS 版本 15.117.26714.0。不 - 升级不是一种选择。
解决方法
这怎么可能?
最可能的原因是您使用的是 Microsoft 托管的代理。因此,无论您的 TFS 在哪台机器上运行,管道都在云代理上运行。
点击 this document 了解有关自托管代理和 Microsoft 托管代理的更多详细信息
如果您不介意使用自托管代理来运行管道,您可以通过以下链接进行设置。这样,您的管道就相当于在本地运行,并且不会受到 Microsoft 的管道计费限制。
请注意左侧导航栏上方的版本选择。
如果您想使用 Microsoft 托管的代理运行管道,您遇到的错误是您的应用找不到 PacsForm
。它未安装在 Microsoft 托管的代理上。
如果 PacsForm
是 NuGet 包,则需要使用 NuGet restore 任务来恢复它。
如果没有,您需要将其包含在您的存储库中并在您的应用程序中编辑您的引用。请注意,您的应用引用不得包含绝对路径。
,没关系 - 它刚刚开始工作。昨天没有 - 今天有(?)。不解释。