TFS2010:构建配置问题

Posted

技术标签:

【中文标题】TFS2010:构建配置问题【英文标题】:TFS2010: Build Configuration Issues 【发布时间】:2011-05-23 21:29:47 【问题描述】:

我已通过删除调试和发布配置并创建“开发”和“测试”来自定义解决方案中的构建配置。一切都在本地构建良好,但在 TFS 中构建新配置之一时出现以下错误(以及其他类似错误)。

C:\程序文件 (x86)\MSBuild\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets (177): 无法复制文件 “bin\CommonServiceFactory.dll”到 “C:\MyApp\Binaries_PublishedWebsites\Epsi.Web\bin\CommonServiceFactory.dll”。 找不到路径的一部分 'bin\CommonServiceFactory.dll'。

外部和项目依赖项都出现此错误。从我读过的帖子来看,这似乎与我所做的构建配置更改有关。如果我将 TFS 构建设置为使用“调试”配置,我会收到警告,但它会成功构建。

C:\MyApp\Sources\MyApp.sln.metaproj: 指定的解决方案配置 “调试|任何 CPU”无效。请 指定有效的解决方案配置 使用配置和平台 属性(例如 MSBuild.exe 解决方案.sln /p:Configuration=Debug /p:Platform="Any CPU") 或离开那些 属性空白以使用默认值 解决方案配置。

任何帮助将不胜感激。

MSBuild 命令:

MSBuild.exe /nologo /noconsolelogger "C:\Builds\2\MyApp\ci.MyApp.acme.com\Sources\MyApp.sln" /m:1 /fl /flp:"logfile=C:\Builds \2\MyApp\ci.MyApp.acme.com\Sources\MyApp.log;encoding=Unicode;verbosity=diagnostic" /p:SkipInvalidConfigurations=true /p:OutDir="C:\Builds\2\MyApp\ci. MyApp.acme.com\Binaries\" /p:Configuration="Dev" /p:Platform="Any CPU" /p:VCBuildOverride="C:\Builds\2\MyApp\ci.MyApp.acme.com\Sources \MyApp.sln.Any CPU.Dev.vsprops" /dl:WorkflowCentralLogger,"C:\Program Files\Microsoft Team Foundation Server 2010\Tools\Microsoft.TeamFoundation.Build.Server.Logger.dll";"Verbosity=Diagnostic; BuildUri=vstfs:///Build/Build/2603;InformationNodeId=449514;TargetsNotLogged=GetNativeManifest,GetCopyToOutputDirectoryItems,GetTargetPath;TFSUrl=http://tfsServer01:8080/tfs/Core%20Development;"*WorkflowForwardingLogger,"C:\Program Files\Microsoft Team Foundation Server 2010\Tools\Microsoft.TeamFoundation.Build.Server.Logger.dll";"Verbosity=Diagnostic;

【问题讨论】:

【参考方案1】:

错误信息表明您在 bin\ 目录中没有该 dll。如果你能上构建机器,你能检查一下你的项目的程序集是在哪里构建的吗?确保程序集的路径是复制/发布任务用来将程序集复制到 Binaries_PublishedWebistes 文件夹的路径。

如果这没有帮助,您可以从 TFS 构建详细信息日志中发布 msbuild 命令行吗?

【讨论】:

我无权访问构建服务器,也没有在日志文件中看到 msbuild 命令行。我确实注意到失败的 msbuild 目标:完成执行任务“复制”——失败。 (TaskId:153)在项目“MyApp.Web.csproj”中完成构建目标“_CopyWebApplicationLegacy”--失败。:(TargetId:262) 找到了msbuild命令并将其添加到上面的问题中。 对不起,我没有发现这个命令很有用。你应该可以访问你的构建的构建放置,你能看到程序集 CommonServiceFactory.dll 是否被放置在那里,以及它到你的构建放置位置的相对路径是什么。查看 msbuild 日志以查看导致上述两个任务失败的其他错误。 你是对的,它期望丢失的文件位于 bin 文件夹中。我没有明确地将这些文件添加到源代码管理中,所以我不希望它们被请求。您不应该签入 bin 目录中的文件,因此我将它们从解决方案中删除并解决了问题。谢谢!

以上是关于TFS2010:构建配置问题的主要内容,如果未能解决你的问题,请参考以下文章

TFS 2010 从门控签入中排除文件类型

给VS2010添加TFS配置连接的窍门

在 TFS 构建配置上缺少 Visual Studio 的最新版本 2019 [重复]

如何在 tfs 2012 中配置我的输出构建

在 TFS 中配置通知电子邮件

如何配置 tfs build 以在发布构建完成时复制 dll