使用 TeamCity 运行构建时出现 MSBuild 错误 MSB3202

问题描述 投票:0回答:4

我的任务是为我们的小型 .Net 商店研究和实施 CI。经过研究后,我们选择 TeamCity 进行自动化构建。安装 TeamCity 和 MSBuild 非常简单,但问题是我开始构建的时间。我总是会得到一个错误。从表面上看,它正在尝试调用共享库项目,因此我做的第一件事是编辑 VCS 以包含共享库,但这并没有解决问题。

请查看构建日志,并告诉我是否需要通过 TeamCity 或 VS 2008 配置 MSBuild?

[09:32:29]: Checking for changes
[09:32:31]: Clearing temporary directory: C:\Program Files\TeamCity\BuildAgent\temp\buildTmp
[09:32:31]: Checkout directory: C:\Program Files\TeamCity\BuildAgent\work\18eca7a0915880c3
[09:32:31]: Updating sources: server side checkout... (3s)
[09:32:31]: [Updating sources: server side checkout...] Building incremental patch for VCS root: Shared Libraries
[09:32:33]: [Updating sources: server side checkout...] Building incremental patch for VCS root: My TFS Two
[09:32:35]: [Updating sources: server side checkout...] Repository sources transferred
[09:32:35]: Project "Apollo.sln.teamcity.patch.tcprojx" (TeamCity_Generated_Build 
target(s)):
[09:32:36]: [Project "Apollo.sln.teamcity.patch.tcprojx" (TeamCity_Generated_Build target(s)):] ..\..\..\Shared Libraries\Local.Data\v2\Local.Data.csproj warning MSB4122: Scanning project dependencies for project "..\..\..\Shared Libraries\Local.Data\v2\Local.Data.csproj" failed. The project file "C:\Program Files\TeamCity\BuildAgent\work\18eca7a0915880c3\..\..\..\Shared Libraries\Local.Data\v2\Local.Data.csproj" was not found.
[09:32:36]: [Project "Apollo.sln.teamcity.patch.tcprojx" (TeamCity_Generated_Build target(s)):] ..\..\..\Shared Libraries\Local.Web\v2\Local.Web.csproj warning MSB4122: Scanning project dependencies for project "..\..\..\Shared Libraries\Local.Web\v2\Local.Web.csproj" failed. The project file "C:\Program Files\TeamCity\BuildAgent\work\18eca7a0915880c3\..\..\..\Shared Libraries\Local.Web\v2\Local.Web.csproj" was not found.
[09:32:36]: [Project "Apollo.sln.teamcity.patch.tcprojx" (TeamCity_Generated_Build target(s)):] ..\..\..\Shared Libraries\Twitterizer\root\Twitterizer.OAuth\Twitterizer.OAuth.csproj warning MSB4122: Scanning project dependencies for project "..\..\..\Shared Libraries\Twitterizer\root\Twitterizer.OAuth\Twitterizer.OAuth.csproj" failed. The project file "C:\Program Files\TeamCity\BuildAgent\work\18eca7a0915880c3\..\..\..\Shared Libraries\Twitterizer\root\Twitterizer.OAuth\Twitterizer.OAuth.csproj" was not found.
[09:32:36]: [Project "Apollo.sln.teamcity.patch.tcprojx" (TeamCity_Generated_Build target(s)):] ..\..\..\Shared Libraries\log4net\root\log4net.csproj warning MSB4122: Scanning project dependencies for project "..\..\..\Shared Libraries\log4net\root\log4net.csproj" failed. The project file "C:\Program Files\TeamCity\BuildAgent\work\18eca7a0915880c3\..\..\..\Shared Libraries\log4net\root\log4net.csproj" was not found.
[09:32:36]: [Project "Apollo.sln.teamcity.patch.tcprojx" (TeamCity_Generated_Build 
target(s)):] Project "Apollo.sln" (Rebuild target(s)):
[09:32:36]: [Project "Apollo.sln" (Rebuild target(s)):] Building solution configuration "Deployment|Any CPU".
[09:32:36]: [Project "Apollo.sln" (Rebuild target(s)):] C:\Program Files\TeamCity\BuildAgent\work\18eca7a0915880c3\Apollo.sln error MSB3202: The project file "..\..\..\Shared Libraries\Local.Data\v2\Local.Data.csproj" was not found.
[09:32:36]: [Project "Apollo.sln" (Rebuild target(s)):] C:\Program Files\TeamCity\BuildAgent\work\18eca7a0915880c3\Apollo.sln error MSB3202: The project file "..\..\..\Shared Libraries\Local.Web\v2\Local.Web.csproj" was not found.
[09:32:36]: [Project "Apollo.sln" (Rebuild target(s)):] C:\Program Files\TeamCity\BuildAgent\work\18eca7a0915880c3\Apollo.sln error MSB3202: The project file "..\..\..\Shared Libraries\log4net\root\log4net.csproj" was not found.
[09:32:36]: [Project "Apollo.sln" (Rebuild target(s)):] C:\Program Files\TeamCity\BuildAgent\work\18eca7a0915880c3\Apollo.sln error MSB3202: The project file "..\..\..\Shared Libraries\Twitterizer\root\Twitterizer.OAuth\Twitterizer.OAuth.csproj" was not found.
[09:32:36]: MSBuild output:
[09:32:36]: C:\Program Files\TeamCity\BuildAgent\work\18eca7a0915880c3\Apollo.sln : error MSB3202: The project file "..\..\..\Shared Libraries\Local.Web\v2\Local.Web.csproj" was not found.
[09:32:36]: C:\Program Files\TeamCity\BuildAgent\work\18eca7a0915880c3\Apollo.sln : error MSB3202: The project file "..\..\..\Shared Libraries\log4net\root\log4net.csproj" was not found.
[09:32:36]: C:\Program Files\TeamCity\BuildAgent\work\18eca7a0915880c3\Apollo.sln : error MSB3202: The project file "..\..\..\Shared Libraries\Twitterizer\root\Twitterizer.OAuth\Twitterizer.OAuth.csproj" was not found.
[09:32:36]: Done Building Project "C:\Program Files\TeamCity\BuildAgent\work\18eca7a0915880c3\Apollo.sln" (Rebuild target(s)) -- FAILED.
[09:32:36]: Done Building Project "C:\Program Files\TeamCity\BuildAgent\work\18eca7a0915880c3\Apollo.sln.teamcity.patch.tcprojx" (TeamCity_Generated_Build target(s)) -- FAILED.
[09:32:36]: Build FAILED.
[09:32:36]: "C:\Program Files\TeamCity\BuildAgent\work\18eca7a0915880c3\Apollo.sln.teamcity.patch.tcprojx" (TeamCity_Generated_Build target) (1) ->
[09:32:36]: (TeamCity_Generated_Build target) ->
[09:32:36]: ..\..\..\Shared Libraries\Local.Data\v2\Local.Data.csproj : Solution file warning MSB4122: Scanning project dependencies for project "..\..\..\Shared Libraries\Local.Data\v2\Local.Data.csproj" failed. The project file "C:\Program Files\TeamCity\BuildAgent\work\18eca7a0915880c3\..\..\..\Shared Libraries\Local.Data\v2\Local.Data.csproj" was not found.
[09:32:36]: ..\..\..\Shared Libraries\Local.Web\v2\Local.Web.csproj : Solution file warning MSB4122: Scanning project dependencies for project "..\..\..\Shared Libraries\Local.Web\v2\Local.Web.csproj" failed. The project file "C:\Program Files\TeamCity\BuildAgent\work\18eca7a0915880c3\..\..\..\Shared Libraries\Local.Web\v2\Local.Web.csproj" was not found.
[09:32:36]: ..\..\..\Shared Libraries\Twitterizer\root\Twitterizer.OAuth\Twitterizer.OAuth.csproj : Solution file warning MSB4122: Scanning project dependencies for project "..\..\..\Shared Libraries\Twitterizer\root\Twitterizer.OAuth\Twitterizer.OAuth.csproj" failed. The project file "C:\Program Files\TeamCity\BuildAgent\work\18eca7a0915880c3\..\..\..\Shared Libraries\Twitterizer\root\Twitterizer.OAuth\Twitterizer.OAuth.csproj" was not found.
[09:32:36]: ..\..\..\Shared Libraries\log4net\root\log4net.csproj : Solution file warning MSB4122: Scanning project dependencies for project "..\..\..\Shared Libraries\log4net\root\log4net.csproj" failed. The project file "C:\Program Files\TeamCity\BuildAgent\work\18eca7a0915880c3\..\..\..\Shared Libraries\log4net\root\log4net.csproj" was not found.
[09:32:36]: "C:\Program Files\TeamCity\BuildAgent\work\18eca7a0915880c3\Apollo.sln.teamcity.patch.tcprojx" (TeamCity_Generated_Build target) (1) ->
[09:32:36]: "C:\Program Files\TeamCity\BuildAgent\work\18eca7a0915880c3\Apollo.sln" (Rebuild target) (2) ->
[09:32:36]: (Rebuild target) ->
[09:32:36]: C:\Program Files\TeamCity\BuildAgent\work\18eca7a0915880c3\Apollo.sln : error MSB3202: The project file "..\..\..\Shared Libraries\Local.Data\v2\Local.Data.csproj" was not found.
[09:32:36]: C:\Program Files\TeamCity\BuildAgent\work\18eca7a0915880c3\Apollo.sln : error MSB3202: The project file "..\..\..\Shared Libraries\Local.Web\v2\Local.Web.csproj" was not found.
[09:32:36]: C:\Program Files\TeamCity\BuildAgent\work\18eca7a0915880c3\Apollo.sln : error MSB3202: The project file "..\..\..\Shared Libraries\log4net\root\log4net.csproj" was not found.
[09:32:36]: C:\Program Files\TeamCity\BuildAgent\work\18eca7a0915880c3\Apollo.sln : error MSB3202: The project file "..\..\..\Shared Libraries\Twitterizer\root\Twitterizer.OAuth\Twitterizer.OAuth.csproj" was not found.
[09:32:36]: 4 Warning(s)
[09:32:36]: 4 Error(s)
[09:32:36]: Time Elapsed 00:00:00.60
[09:32:36]: Publishing artifacts
[09:32:36]: [Publishing artifacts] Paths to publish: [teamcity-info.xml]
[09:32:36]: [Publishing artifacts] Publishing files
[09:32:36]: Build finished
msbuild teamcity
4个回答
11
投票

这是一个非常简单的错误 - MSBuild 找不到您要构建的项目文件。对此有两种可能的解释:

  1. 您尚未将这些项目签入版本控制存储库
  2. 您已签入它们,但不在 MSBuild 期望找到它们的位置。

版本控制中源文件的结构应与您在 Visual Studio 中本地构建时使用的结构相匹配。如果不这样做,您将继续遇到问题。


2
投票

TLDR

Linux 区分大小写

文件系统 -> 文件系统

使用不同的构建容器进行构建,我从Windows切换到Linux,其中一个项目名称中的字母大小写不正确,因此找不到该文件。


1
投票

问题似乎不在 MSBuild 中,而是在 TeamCity 项目配置的版本控制设置中。验证您期望的文件是否位于构建代理的 work 子目录中。将它们与您的 Visual Studio 项目和构建日志进行比较;验证路径是否正确。

您还可以在 TeamCity 开发者社区发布问题。


1
投票

我注意到你的路径实际上将项目放在工作目录之外..假设这是正确的:

我在另一个项目中完美运行的构建中收到此消息,并且我验证了项目文件位于磁盘上。

唯一的区别是“版本控制设置”高级选项部分下的“签出目录”名称。事实证明,msbuild 中的路径模式匹配无法处理长路径..

我将签出目录名称更改为只有三个字母长,它发现项目文件很好。

© www.soinside.com 2019 - 2024. All rights reserved.