我有一个 C# 程序,它为我构建了一个 TFS 构建定义。我想在 powershell 脚本中执行相同的代码。到目前为止,我已经能够编写脚本,它将在 TFS 中为我创建一个新的构建定义。但是,我在设置构建定义的 Process 部分时遇到了麻烦。我需要将 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 中执行此操作的正确方法。