15

最初の NuGet パッケージを作成しようとしています。install.ps1 スクリプトが呼び出されない理由がわかりません。これはディレクトリ構造です

--Package
|
 - MyPackage.nuspec
 - tools
 |
  - Install.ps1
  - some_xml_file

このコマンドラインを使用してパッケージをビルドします nuget.exe pack MyPackage.nuspec

VS Package Manager コンソールから Install-Package を実行すると、install.ps1 が呼び出されません。

スクリプトにエラーがあったのではないかと思ったので、すべてコメントアウトしましたが、

param($installPath, $toolsPath, $package, $project)
"ECHO"

しかし、パッケージ マネージャー コンソールに ECHO が表示されません。何が間違っている可能性がありますか?

4

3 に答える 3

21

Install.psただし、「ツールのみ」のパッケージではなく、\libおよび/またはフォルダーに何かがある場合にのみ呼び出されます。ここ\contentを参照してください:

Install.ps1 を実行するには、パッケージのコンテンツまたは lib フォルダーにファイルが必要です。tools フォルダーに何かがあるだけでは、これは開始されません。

代わりにを使用しInit.ps1ます (ただし、これはソリューションを開くたびに実行されます)。

于 2011-07-31T20:29:02.077 に答える
7

Install.ps1(およびUninstall.ps1) は v3 では呼び出されなくなりましたが、使用できますInit.ps1ここを参照してください:

Powershell スクリプトのサポートは、インストール スクリプトとアンインストール スクリプトを実行しないように変更されましたが、init スクリプトは引き続き実行されます。この理由の一部は、すべてのパッケージがプロジェクトによって直接参照されているわけではない場合、どのパッケージ スクリプトを実行する必要があるかを判断できないことです。

于 2016-12-02T12:14:36.013 に答える