【发布时间】:2013-08-27 00:36:51
【问题描述】:
我正在开发一个将创建 TFS 构建定义的 powershell 脚本。我以下面的示例为起点。
我在 powershell 中完成了脚本,它在 TFS 中为我创建了一个构建定义文件。我坚持的一件事是创建流程信息,例如“要构建的项目”和“要构建的项目”。下面给出了 C# 代码
//Set process parameters
varprocess = WorkflowHelpers.DeserializeProcessParameters(buildDefinition.ProcessParameters);
//Set BuildSettings properties
BuildSettings settings = newBuildSettings();
settings.ProjectsToBuild = newStringList("$/pathToProject/project.sln");
settings.PlatformConfigurations = newPlatformConfigurationList();
settings.PlatformConfigurations.Add(newPlatformConfiguration("Any CPU", "Debug"));
process.Add("BuildSettings", settings);
buildDefinition.ProcessParameters = WorkflowHelpers.SerializeProcessParameters(process);
下面是我写的上面的powershell代码。
Write-Host"Set process parameters "$now
$process=[Microsoft.TeamFoundation.Build.Workflow.WorkflowHelpers]::DeserializeProcessParameters($def.ProcessParameters)
Write-Host"Set build settings properties "$now
$settings=new-object-`enter code here`TypeNameMicrosoft.TeamFoundation.Build.Workflow.Activities.BuildSettings
$sList=New-Object-TypeNameMicrosoft.TeamFoundation.Build.Workflow.Activities.StringList
$sList="$/pathToProject/project.sln"
$settings.ProjectsToBuild =$sList
$process.Add("BuildSettings", $sList)
但是上面的代码段并没有在我的构建定义文件中创建构建设置。我的问题是我在 powershell 中以正确的方式执行此操作吗?我觉得我没有错误地编写 powershell 代码,因为我是 powershell 的新手。任何指导和 帮助将不胜感激
【问题讨论】:
-
您是否收到任何错误和/或输出?
-
我只指出我在问题中有问题的代码。当我运行完整的脚本时,它会为我创建构建定义文件。但是“要构建的项目”和“要构建的项目”等流程信息是空的,并且在执行时,它不会对我抛出任何错误。我想,我可能写错了 powershell 语法。
标签: powershell tfs tfsbuild