假设TFS 2010中有此文件夹结构
Main
Collection_A
Solution_A1
Solution_A2
Reference Assemblies
Collection_B
Solution_B1
Project_B1A
Run Code Online (Sandbox Code Playgroud)
Project_B1A引用在DLL Reference Assemblies的Collection_A通过使用相对路径(..\..\..\Collection_A\Reference Assemblies\Whatever.dll).在TFS中定义构建定义时,我们在"工作流"选项卡中遇到了问题.
Project_B1A => $(SourceDir)
Run Code Online (Sandbox Code Playgroud)
对于参考装配应该是
Reference Assemblies => $(SourceDir)\..\..\..\Collection_A\Reference Assemblies
Run Code Online (Sandbox Code Playgroud)
但是TFS会抛出错误
TF215083: The local path $(SourceDir)\..\..\Collection_A\Reference Assemblies for a
workspace mapping is not valid. (Detail Message: TF10202: The path '..' ends with a
character which is not allowed. Characters which are not allowed include '.' and ' '.)
Run Code Online (Sandbox Code Playgroud)
我们已经尝试过$(SourceDir)\Collection_A\Reference Assemblies,$(BuildDir)\Collection_A\Reference Assemblies但正如预期的那样没有成功 还有其他可以使用的变量吗?
正如错误消息所示,我不认为在定义工作文件夹映射时允许使用相对路径.
你应该做的是从你想要映射的所有可能路径的最常见路径开始映射(在这种情况下,它是Main).所以$(SourceDir)应该映射到Main.但是,您应该仅映射Main的顶级(通过使用星号作为Main/*).这意味着您不希望以递归方式映射Main.然后在其他映射中指定Main的特定子文件夹.
它看起来像:
$/Main/* -> $(SourceDir)
$/Main/Collection_A/Reference Assemblies -> $(SourceDir)\Collection_A\Reference Assemblies
$/Main/Collection_B/Solution_B1/Project_B1A -> $(SourceDir)Collection_B\Solution_B1\Project_B1A
Run Code Online (Sandbox Code Playgroud)
或者,如果您不想映射的路径数小于要在根路径下映射的路径数,则可以递归地映射根路径,但可以选择性地隐藏不需要的路径.
希望这可以帮助.
| 归档时间: |
|
| 查看次数: |
4641 次 |
| 最近记录: |