TFS 2017 不构建 Fakes 目标

TFS 2017 doesn't build Fakes targets

我有一个安装了 VS 2017 Enterprise 的 TFS 2017 Update 2 本地服务器。我们的构建包含一个单元测试项目,该项目包含一个 Fakes 程序集并在开发机器上本地运行。 在 TFS 上构建时,构建失败并显示

The type or namespace name 'Fakes' does not exist in the namespace 'Our.Product' (are you missing an assembly reference?)

(即 misses/fails 生成 Our.Product.Assembly.Fakes.dll 文件)

我已经按照建议额外设置了 Fakes here

让我感到困惑的是,在构建日志中没有提到 Fakes(错误本身和 MSBuild 查找文件的路径除外),即使调试冗长。他没有尝试生成 Fakes 程序集。

我还需要采取其他步骤吗?我们使用 vNext 构建定义。

更新: 这是现在有效的构建步骤,在 /tv:15.0 /p:VisualStudioVersion=15.0 之前。

更新

使用最新版本的 msbuild 参数,例如 /tv:15.0 /p:VisualStudioVersion=15.0 可以解决这个问题。


首先尝试使用构建服务帐户 RDP 远程构建代理并手动运行构建以查看程序集是否生成。

如果它与您在构建代理上的环境相关,这将缩小范围。确保它与您本地的开发机器相同。

如果程序集也生成了,那么问题可能与您的构建定义设置有关。检查您是否使用正确的 msbuild 版本。对于 vNext 构建,还有 enable verbose Debug Modesystem.debug=true