0

ワークフローとネイティブ ps1 コマンドレットが埋め込まれたカスタム モジュールがあります。

このモジュールをインポートすると、コマンドレットのサブセットのみが抽出されたアクティビティとしてモジュールの下に表示されます。

モジュールはインポートを正常に完了しており、Available と表示されます。

特定の出力と考えられるメンバー固有のインポートエラーを見つけるために探す場所はありますか?

読み込みに失敗するコマンドレットは、アセンブリの一部として追加されたいくつかの新しい型に依存しています。読み込まれているコマンドレットも、そのアセンブリの型に依存しています。

さらに混乱を招くのは、このモジュールを ISE でローカルにインポートすると、すべてが正常に機能し、すべてのコマンドレットが利用可能/実行可能になることです。

さらに: ネイティブ PowerShell コマンドレットでこれを見たことがありますが、.ps1 内の (単一の) PowerShell ワークフロー アクティビティがサポートされていないようにも見えます

さらに、ローカルで、.psd1 または .psm1 を使用してモジュールをロードするかどうかに応じて、異なる動作と結果の WRT 依存アセンブリのロードが発生することを確認しました。

特に、矛盾をローカルでトラブルシューティングしようとすると、「型が見つかりません」または「引数が 1 の ctor に対して複数のオーバーロードが見つかりました」というメッセージが多数表示されました (問題の型に 1 の ctor がないにもかかわらず)。 arg)[OutputType([typename])]などを介して参照される型のエラー。同じアセンブリの型に依存する OTHER コマンドレットが正常に検出された場合。

[編集]
テスト .psm1 からのローカル詳細出力

詳細: 関数 'sync-test' をインポートしています。
詳細: コマンドをワークフロー 'Sync-VsoGitRmRunbook' としてインポートしています。

AA では、sync-test (文字列出力を書き込む単純な Runbook) は正常に表示されますが、Sync-VsoGitRmRunbook は表示されません。

sync-test をワークフローに変換すると、インポートも停止するため、(モジュールにパッケージ化された C# クラスではなく) .ps1 ファイルとしてバンドルされているワークフロー アクティビティをエクスポートするモジュールには制限があると思われます。

[編集]
問題を再現するモジュールを作成しました。 https://github.com/JoeBrockhaus/AzureAutomationVsoGitSync

4

1 に答える 1

0

PowerShell モジュールを介して Azure Automation にインポートできるのは、PowerShell コマンドレット/DSC リソースのみです。ワークフロー アクティビティをコマンドレットに変換すると、インポートは成功するはずです。

いずれにせよ、これらのワークフロー アクティビティをコマンドレットにして、PowerShell 以外のワークフロー Runbook でも活用できるようにする必要があります。

于 2016-03-05T17:34:11.313 に答える