生成过程xaml文件找不到工作区 我试图遵循Azure和Team Foundation构建服务器的CI教程,但在步骤5中,我遇到了配置配置模板XAML文件的配置问题。在尝试配置新的ConvertWorkSpaceItem,并将其添加到TFS提供的修改的生成模板(TfvsTemplate.12.xaml)中,以便可以在TFS生成代理上运行自定义脚本时,我尝试设置属性Workspace=“Workspace”,但出现编译器错误:“Workspace”是一种类型,不能用作表达式

生成过程xaml文件找不到工作区 我试图遵循Azure和Team Foundation构建服务器的CI教程,但在步骤5中,我遇到了配置配置模板XAML文件的配置问题。在尝试配置新的ConvertWorkSpaceItem,并将其添加到TFS提供的修改的生成模板(TfvsTemplate.12.xaml)中,以便可以在TFS生成代理上运行自定义脚本时,我尝试设置属性Workspace=“Workspace”,但出现编译器错误:“Workspace”是一种类型,不能用作表达式,xaml,azure,tfs,Xaml,Azure,Tfs,我已经做了一些故障排除,其他人发生的错误——没有确定CreateWorkSpaceItem的范围,或者使用错误版本的TFS或Visual Studio——似乎不是问题。我将逻辑正确地放置在“代理上运行”块中,因此范围应该正确,并且VisualStudio和我的TFS服务器都在运行2013。我唯一的想法是,这些指示已经过时了,还有一些我没有采取的步骤需要采取。有什么想法吗 编辑: 对于第一个失败的转换项。第二个失败的转换项类似。输入和结果变量是我为工作流定义的参数,作为教程说明的一部分。显示的错误

我已经做了一些故障排除,其他人发生的错误——没有确定
CreateWorkSpaceItem
的范围,或者使用错误版本的TFS或Visual Studio——似乎不是问题。我将逻辑正确地放置在“代理上运行”块中,因此范围应该正确,并且VisualStudio和我的TFS服务器都在运行2013。我唯一的想法是,这些指示已经过时了,还有一些我没有采取的步骤需要采取。有什么想法吗

编辑:
对于第一个失败的转换项。第二个失败的转换项类似。输入和结果变量是我为工作流定义的参数,作为教程说明的一部分。显示的错误是:“处理表达式“Workspace”时遇到编译器错误。“Workspace”是一种类型,不能用作表达式。”

好的,这在TFS 2013中出现过几次

内置变量过去可用于

sources目录、二进制文件目录和工作区

这些在TFS 2013中不再可用,您现在必须使用

Microsoft.TeamFoundation.Build.Activities.Extensions.WellKnownenEnvironmentVariables

访问这些

获取工作空间有点复杂,但是如果您分配一些局部变量,您应该能够获取工作空间对象

为sourcesDirectory(string)和buildDetail(IBuildDetail)以及workSpace(workSpace)声明局部变量,将其作用域设置为整个工作流

创建GetEnvironmentVariable活动并将其结果值设置为sourcesDirectory,并使用Microsoft.TeamFoundation.Build.Activities.Extensions.WellKnownenEnvironmentVariables.sourcesDirectory。

对buildDetail=WellKnownEnvironmentVariables.buildDetail重复相同的步骤

为工作区对象创建分配任务,将此任务设置为 工作空间= “[buildDetail.BuildServer.TeamProjectCollection.GetService().GetWorkspace(sourcesDirectory)]”

然后,这将为您提供一个要使用的工作区对象

注意:语法可能有点错误

为了补充这些变量的删除,MS添加了一个新的活动

GetLocalPath


您是否可以添加由蓝色和白色感叹号显示的实际错误,以及显示错误的参数activities@JustTFS如果您需要有关参数的更多信息,请告诉我。作为参考,所有这些步骤都是在我下面的说明步骤5中执行的,链接在上面。这正是我想要的。正如建议的那样,我用GetLocalPath项替换了我的两个ConvertWorkspaceItem组件,现在它工作起来很有魅力。谢谢