2012-04-27 36 views
10

Tôi đang phát triển gói NuGet, bao gồm tập lệnh install.ps1 chạy trong khi cài đặt gói. Tôi muốn có thể xuất thông điệp từ tập lệnh của mình và cũng xuất kết quả chạy các tập tin .bat từ trong sript của tôi.cách xuất thông báo gỡ lỗi từ install.ps1 trong NuGet

Đây là tôi install.ps1:

param($installPath, $toolsPath, $package, $project) 
Write-Output "Running install.ps1 for MyPkg" 
Set-Location $toolsPath 
.\helper.bat | Write-Output 

Khi tôi cài đặt gói của tôi trong Visual Studio, sau đó tôi nhìn vào Package Manager tùy chọn trong trang Output, tôi thấy:

Executing script file 'C:\Test\packages\MyPkg.1\tools\install.ps1'. 

và có vẻ như kịch bản đang hoạt động (tôi có thể nói theo những cách khác mà helper.bat chạy), nhưng tôi không thấy bất kỳ đầu ra nào. Làm thế nào tôi có thể nhận được đầu ra làm việc?

Trả lời

18

Tôi không thể nhận được kết quả khi cài đặt từ Hộp thoại Trình quản lý gói NuGet, tôi sẽ tìm hiểu thêm một chút để xem nó sẽ đi đâu.

Nhưng bạn sẽ có thể nhìn thấy nó khi cài đặt từ bảng điều khiển Nuget (Tools-> Library Package Manager-> Package Manager Console). Đầu ra đi trực tiếp trong giao diện điều khiển. Ví dụ:

PM> uninstall-package samplepackage 
hello from unninstal.ps1 
Successfully removed 'samplepackage 1.0.0' from WebApplication24. 

unninstal.ps1:

param($installPath, $toolsPath, $package, $project) 
Write-Host "hello from unninstal.ps1" 
+0

đó làm việc! Và \ helper.bat | Viết-Host cho thấy đầu ra của tập tin thực thi. Vì vậy, vấn đề của tôi là Write-Output thay vì Write-Host. – JoelFan

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