NuGetパッケージinit.ps1のヘルパー関数はグローバルである必要がありますか?
-
29-10-2019 - |
質問
Nuget Package Manager コンソールにカップルコマンドを書きたい。 Github のジスト。4基本コマンドがあります
- list-gists 'user'
- gist-info 'gistid'
- gist-contents 'gistid' 'filename'
- gist-insert 'gistid' 'filename'
私のすべてのコマンドは、カップルユーティリティ関数によって異なります、そして私は彼らがグローバルまたはそうでないかどうかに苦労しています。
.# Json Parser function parseJson([string]$json, [bool]$throwError = $true) { try { $result = $serializer.DeserializeObject( $json ); return $result; } catch { if($throwError) { throw "ERROR: Parsing Error"} else { return $null } } } function downloadString([string]$stringUrl) { try { return $webClient.DownloadString($stringUrl) } catch { throw "ERROR: Problem downloading from $stringUrl" } } function parseUrl([string]$url) { return parseJson(downloadString($url)); }
私は私のグローバル関数の外部でこれらのユーティリティ関数を持っていますか、それとも、それぞれのグローバル関数定義範囲のそれぞれにそれらを含める必要がありますか?
解決
いいえ、そうではありません。init.ps1から、作成したPowerShellモジュール(psm1)ファイルをインポートして先に進むことができます。これは、コンソール環境にメソッドを追加することをお勧めする方法です。
init.ps1は次のようになります: ジェネラコディセタグプレ
MyModule.psm1: ジェネラコディセタグプレ
モジュールの詳細については、を参照してください。http://msdn.microsoft.com/en-us/library/dd878340(v=VS.85).aspx
所属していません StackOverflow