Visual studio 2015 由于路径问题,TeamCity将构建一个解决方案

Visual studio 2015 由于路径问题,TeamCity将构建一个解决方案,visual-studio-2015,teamcity,Visual Studio 2015,Teamcity,图像中的XXX和模糊部分是相同的字符序列,用于保护隐私 我们将Visual Studio 2015解决方案划分为多个部分,以简化工作。因此,在磁盘上,我们有以下文件夹: Platform ProjectA Shared Base Common Core Extensions Frameworks Indentity Linq MVC Security ... 在visual studio中,我们使用以下逻辑布局: 请注意,我们

图像中的XXX和模糊部分是相同的字符序列,用于保护隐私

我们将Visual Studio 2015解决方案划分为多个部分,以简化工作。因此,在磁盘上,我们有以下文件夹:

Platform
   ProjectA
Shared
   Base
   Common
   Core
   Extensions
   Frameworks
   Indentity
   Linq
   MVC
   Security
   ...
在visual studio中,我们使用以下逻辑布局:

请注意,我们在解决方案中有一个名为slnxxshared的解决方案文件夹,它便于保存对磁盘上物理存在的一些项目的引用,如Shared\Base等

现在,所有这些都可以在VisualStudio中正常工作。但是,当我尝试在TeamCity上构建SLNxxx平台时,它失败了,因为我们有这样的东西:

项目文件 “D:\TeamCityBuildAgent\work\fd9f07464bf571fc..\XXX共享\XXX.Extensions\XXX.Extensions.csproj” 找不到

问题在于“.”向上移动文件夹级别(对于逻辑解决方案文件夹SLNxxShared)。但是,当所有文件都放置在文件系统中供代理使用时,TeamCity会将它们放置在同一级别,即:

其中突出显示的项目来自先前从VS解决方案中显示的逻辑文件夹SLNxxShared


那么我如何为TeamCity解决这个问题呢?那个就是处理“.”在并没有必要的时候向上移动文件夹?理想情况下,我不想从VS解决方案中丢失解决方案文件夹SLNxxShared,因为它有助于隐藏所有引用的共享项目。

这被证明是一个新手错误。本质上,我配置了VCS根目录:

\Root\SolutionOneFolder
\Root\SolutionTwoFolder
同时使用这两个根将产生相同的目标工作文件夹

C:\Agent\WorkDir\
由包含上述所有内容的代理使用。因此,我现在创建一个VCS根目录:

\Root
然后使用这个和我实现单独的文件夹布局在结帐时,例如

\Root\SolutionOneFolder => C:\Agent\WorkDir\SolutionOneFolder
\Root\SolutionTwoFolder => C:\Agent\WorkDir\SolutionTwoFolder

您是否可以在TC中调整此项目的参数,并将要复制的文件夹设置为正确的路径?不确定如何设置tbh。我正在让TC使用visual studio解决方案运行程序构建与我在VS中所做的相同的sln文件。唯一要做的事情是在运行上述步骤之前复制磁盘上的文件夹结构,但这意味着获取实际的代理构建文件夹等看起来复杂而复杂。我希望我错过了一些更简单、更明显的东西?在TC-管理-->选择项目-->参数(左侧窗格)-->选择复制文件的参数并将其编辑到正确的路径?你能试试吗?不知道有什么用。作为visual studio解决方案运行程序的一部分,TC正在执行磁盘上布局。这与解决方案文件所期望的不同。似乎没有地方可以为这件事说情?如何使用参数?