2011-07-31 44 views
11

Tôi đang cố gắng tạo gói NuGet đầu tiên của mình. Tôi không biết tại sao tập lệnh install.ps1 của tôi không được gọi. Đây là cấu trúc thư mụcNuGet - install.ps1 không được gọi là

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

tôi xây dựng gói sử dụng dòng lệnh này nuget.exe pack MyPackage.nuspec

Khi tôi Install-Package từ VS Package Manager Console install.ps1 không được gọi.

Tôi nghĩ rằng có lẽ tôi đã có một số sai sót trong kịch bản và đó là lý do vì vậy tôi nhận xét ra tất cả mọi thứ nhưng

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

Nhưng tôi không thấy ECHO xuất hiện trong Package Manager Console. Điều gì có thể sai?

Trả lời

14

Install.ps sẽ chỉ được gọi nếu có gì đó trong thư mục \lib và/hoặc \content, chứ không phải cho gói "chỉ công cụ". Xem here:

Gói phải có tệp trong thư mục nội dung hoặc lib để Install.ps1 chạy. Chỉ cần có một cái gì đó trong thư mục công cụ sẽ không khởi động điều này.

Thay vào đó, hãy sử dụng số Init.ps1 (tuy nhiên, điều này sẽ được thực hiện mỗi lần mở giải pháp).

+0

Cảm ơn tôi đã không nhận thấy điều đó trên các trang trợ giúp. Tôi đã thay đổi Install.ps1 thành Init.ps1 và nó hoạt động. Nhưng tôi vẫn không thấy ECHO. Mặc dù tôi thấy 'Đã cài đặt thành công tên gói' –

+0

Mở lại giải pháp của bạn sau khi gói đã được cài đặt. Tuy nhiên, hãy chắc chắn rằng Package Manager Console đã được nhìn thấy. Sau đó, bạn sẽ thấy bất kỳ đầu ra nào từ tập lệnh 'Init.ps1' của bạn. – mthierba

+0

Vâng tôi thấy đầu ra tại VS bắt đầu. Nhưng không phải trên gói cài đặt. Điều này có bình thường không? –

5

Install.ps1 (và Uninstall.ps1) không còn được gọi trong v3, nhưng bạn có thể sử dụng Init.ps1. Xem here:

Hỗ trợ tập lệnh Powershell đã được sửa đổi để không còn thực thi cài đặt và gỡ cài đặt tập lệnh, nhưng init script vẫn được thực thi. Một số trong số lý do cho điều này là không có khả năng xác định gói tập lệnh nào cần phải chạy khi không phải tất cả các gói được tham chiếu trực tiếp bởi một dự án.

Các vấn đề liên quan