我正在创建一个 PowerShell 模块,我想在模块中的多个函数(如果重要的话,将导出该函数)和类中使用枚举。我认为做到这一点的唯一方法是将所有代码放在一个文件中。然而,这并不是一个容易维护的故事。我想要一个类似于以下内容的模块文件结构:
正如您在代码中看到的,Class1 的 Enum1 属性被标记为“无法找到类型 [Enum1]”。
部署我的资源:
function Deploy-MyResource {
[CmdletBinding()]
Param(
[Parameter(Mandatory=$true)]
[Enum1] $EnumParam,
[Parameter(Mandatory=$true)]
[Class1] $ClassParam
)
$class2 = [Class2]::new()
if($class2.Prop1 -eq $ClassParam.Prop1) {
Write-Output "Matches"
}
else {
Write-Output "No match."
}
}
Run Code Online (Sandbox Code Playgroud)
第1类:
Class Class1 {
[string] $Prop1
[int] $Prop2
[Enum1] $EnumProp
DoSomething() {
Write-Output "Did something using $($this.Prop1), $($this.Prop2), & $($this.EnumProp)"
}
}
Run Code Online (Sandbox Code Playgroud)
枚举1:
enum Enum1 {
ValueOne
ValueTwo
}
Run Code Online (Sandbox Code Playgroud)
这是我的 PSD1 和 PSM1:
PSD1:
@{
# Script module or binary module file …Run Code Online (Sandbox Code Playgroud) 我用2个序列创建了一个工作流程.我部署它进行测试,一切正常.我回去并在两者之间添加了一个序列.现在它似乎没有在新序列中执行任何操作.是否存在重新加载SharePoint中的工作流以使其显示的问题?
在下图中,新序列是GetHRContextInfo.WriteToHistory事件永远不会触发.
此外,我现在也无法调试工作流程.

debugging workflow-foundation-4 sharepoint-workflow visual-studio-2012 sharepoint-2013