質問

NUGETパッケージを作成しています。ユーザーがこのパッケージをインストールしたときに追加されるEXEファイルとConfigファイルに2つのファイルを入れました。

さらに、これら2つのファイルのVSプロジェクトのプロパティを変更します。

パッケージを構築するときに何をする必要がありますか?

役に立ちましたか?

解決

「プロパティの適用変更」と言うと、最後に変更された時間、隠れフラグなどのファイルシステムのプロパティを意味します。?

もしそうなら、実行されているPowerShellスクリプトのセット(それらがあなたのパッケージに存在する場合)これを行うために使用することができます。パッケージを構築すると起こりませんが、誰かがパッケージをインストールしたときに実行されます。これは、ユーザーがビューのポイントしているのと同じ効果を持つ必要があります。あなたはおそらく Init.ps1 または Install.ps1 のどちらかを望んでいます。 rel=">パッケージのインストール中にPowerShellスクリプトの自動実行

パッケージには、いつでも自動的に実行されるPowerShellスクリプトを含めることができます。 パッケージがインストールまたは削除されます。 NUGETは自動的にスクリプトを実行します 次の規則を使用してファイル名に基づく:

  • Init.ps1 解決策にパッケージがインストールされたときに実行されます。
    • 同じパッケージが追加された場合 プロジェクトソリューションでは、スクリプトはそれらの間に実行されません インストール
    • 解決策があるたびにスクリプトも実行されます 開いた。たとえば、パッケージをインストールした場合は、Visual Studioを閉じます。 その後、Visual Studioを起動してソリューションを開き、Init.ps1を開きます。 スクリプトが再び実行されます。
    • PROFACDICETAGCODE プロジェクトにパッケージをインストールすると実行されます。
      • 同じパッケージがソリューション内の複数のプロジェクトにインストールされている場合は、 パッケージがインストールされるたびにスクリプトが実行されます。
      • Packageには、Install.ps1のContentまたはlibフォルダにファイルが必要です。ツールフォルダに何かを持つだけでこれをオフにしません。
      • あなたのパッケージにInstall.ps1も持っている場合、init.ps1install.ps1の後に実行されます。
      • init.ps1 パッケージがアンインストールされるたびに実行されます。
      • これらのファイルは、パッケージのToolsディレクトリに配置する必要があります。
      • ファイルの上部にあるこの行を追加します.Uninstall.ps1
        • param($installPath, $toolsPath, $package, $project)はへのパスです パッケージがインストールされているフォルダ
        • $installPathはTOTへのパスです パッケージがインストールされているフォルダ内のツールディレクトリ
        • $toolsPathは、パッケージオブジェクトへの参照です。
        • $packageはAです ENVDTEプロジェクトオブジェクトへの参照し、プロジェクトを表します。 パッケージがインストールされています。注:これは$projectではNULLになります。に その場合、それは特定のプロジェクトへの参照を持っていません ソリューションレベルで実行されます。このオブジェクトのプロパティは定義されています MSDNのマニュアルで。
        • スクリプトの作成中にConsoleでInit.ps1をテストしているときは、$project に設定できます。
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top