NuGetパッケージinit.ps1のヘルパー関数はグローバルである必要がありますか?

StackOverflow https://stackoverflow.com/questions/5406406

  •  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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top