【发布时间】:2013-08-23 07:53:28
【问题描述】:
我有一个 C# 程序,它为我构建了一个 TFS 构建定义。我想在 powershell 脚本中执行相同的代码。到目前为止,我已经能够编写脚本,它将在 TFS 中为我创建一个新的构建定义。但是,我在设置构建定义的流程部分时遇到了麻烦。我需要将 C# 中的以下代码转换为 powershell,我所做的所有尝试都不起作用。
//Set process parameters
var process = WorkflowHelpers.DeserializeProcessParameters(buildDefinition.ProcessParameters);
//Set BuildSettings properties
BuildSettings settings = new BuildSettings();
settings.ProjectsToBuild = new StringList("$/Templates/Main/Service/application1");
settings.PlatformConfigurations = new PlatformConfigurationList();
settings.PlatformConfigurations.Add(new PlatformConfiguration("Any CPU", "Debug"));
process.Add("BuildSettings", settings);
buildDefinition.ProcessParameters = WorkflowHelpers.SerializeProcessParameters(process);
首先我加载了使用 TFS 所需的程序集。当我想复制相同的 C# 代码时,
var process = WorkflowHelpers.DeserializeProcessParameters(buildDefinition.ProcessParameters);
我在 PowerShell 中进行了跟踪
$process = New-Object Microsoft.TeamFoundation.Build.Workflow.WorkflowHelpers.
上面给了我一个错误,说“找不到构造函数。找不到类型 Microsoft.TeamFoundation.Build.Workflow.WorkflowHelpers 的合适构造函数”
我检查过,没有构造函数。我的问题是我在编写 PowerShell 脚本以实现与 c# 代码相同的功能时做错了什么。我确信这是我正在做的语法错误并且不知道在 PowerShell 中执行此操作的正确方法。
【问题讨论】:
-
请不要只要求我们为您解决问题。向我们展示您如何尝试自己解决问题,然后向我们确切地展示结果是什么,并告诉我们您为什么觉得它不起作用。请参阅“What Have You Tried?”了解您真正需要阅读的优秀文章。
-
是的,我应该问我做了什么以及我得到了什么错误的问题。我已经编辑了问题
标签: powershell tfs tfsbuild