【发布时间】:2014-12-16 17:40:58
【问题描述】:
我有一个包含多个项目的 Visual Studio 2013 解决方案。 (源代码在SVN中)
这是项目/解决方案结构
d:\src\Service\MyService\MyService.sln
上述解决方案包含 2 个项目。两个项目的文件路径是,
- d:\src\Service\MyService\MyServiceProject\MyServiceProject.csproj - 为简单起见,我们称之为 - 项目 A
- d:\src\Library\MyLibrary\MyLibraryProject\MyLibraryProject.csproj - 为简单起见,我们称之为 - 项目 B
这里,项目 Project A 有一个对项目 B 的项目引用
我已将 TeamCity 配置为使用默认 Visual Studio 构建(即,我没有自定义 MSBuild 脚本)来构建 MyService.sln。
当我在 TeamCity 中构建项目时,构建失败,提示找不到应该由项目 B 生成的 .dll 文件。
我检查了 TeamCity 工作目录,但根本没有看到 Project B 的源代码。我在这里错过了什么?
【问题讨论】:
-
你的 cvs root 设置是什么?看起来您正在检查 A 的源而不是 B,即您的根检查了 \service 而不是 \library
-
根 VCS 签出解决方案 (.sln)。该解决方案在其中引用了项目 A 和项目 B。但是,如您所见,项目 A 位于解决方案本身的子文件夹中,而项目 B 不在子文件夹中,而是位于完全不同的路径中。基本上,解决方案文件中对项目 B 的引用是 ..\..\Library\MyLibrary\MyLibraryProject\MyLibraryProject.csproj
标签: teamcity