0

正如标题所说,我们将构建定义从 TFS 2008 升级到使用升级模板的 TFS 2012 构建定义。但作为我们构建过程的一部分,我们调用了一个自定义 DLL,它覆盖了一些 MSBuild 任务以重写构建号和其他实用程序 MSBuild 任务。但是,当在 TFS 2012 中为升级的构建类型之一排队构建时,我们收到此错误:

C:\Sites\TfsBuild\Rock.QL.Qbert.TfsCustomBuild.Targets - 1 个错误,0 个警告,查看日志文件 C:\Sites\TfsBuild\Rock.QL.Qbert.TfsCustomBuild.Targets (33 ):无法从程序集 C:\Sites\TfsBuild\bin\Rock.Ql.QBert.TfsCustomBuild.dll 加载“Rock.Ql.QBert.TfsCustomBuild.BuildNumberReader”任务。无法加载文件或程序集 'file:///C:\Sites\TfsBuild\bin\Rock.Ql.QBert.TfsCustomBuild.dll' 或其依赖项之一。试图加载格式不正确的程序。确认声明正确,程序集及其所有依赖项都可用,并且任务包含实现 Microsoft.Build.Framework.ITask 的公共类。

C:\Sites\TfsBuild\Rock.QL.Qbert.TfsCustomBuild.Targets - 为 MSBuild 生成的目标文件,以便在自定义过程中使用。

Rock.Ql.QBert.TfsCustomBuild.BuildNumberReader - 表示一个执行实际内部版本号自定义的类。

需要强调的是,在 TFS2012 中排队构建时这会失败,但在 TFS2008 中不会。任何想法或指针表示赞赏。

4

1 回答 1

0

大多数自定义 dll 问题来自于它们不在正确的位置,因此请尝试将任何自定义 dll 放在构建服务器上的以下路径

“C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\PublicAssemblies”

.

您也可以将它们放在源代码控制上的文件夹中,并从构建控制器属性中对其进行配置,如下图所示。

在此处输入图像描述

于 2013-01-17T22:09:35.660 回答