Chúng tôi sử dụng NAnt rộng rãi cho hệ thống xây dựng của chúng tôi. Gần đây, tôi đã viết một vài số PowerShell Cmdlets để thực hiện một vài điều liên quan đến cơ sở dữ liệu. Lúc đầu, ý định của các Cmdlets này là không phải để nhất thiết phải chạy trong quá trình xây dựng của chúng tôi. Tuy nhiên, điều này gần đây đã trở thành một nhu cầu và chúng tôi muốn chạy một vài trong số các Cmdlets này từ quá trình xây dựng dựa trên NAnt của chúng tôi.Cách tốt nhất để sử dụng PowerShell Cmdlet trong hệ thống xây dựng NAnt là gì?
Các Cmdlet này được viết bằng C# và chúng tôi có SnapIn cho chúng (nếu có vấn đề gì).
Một vài ý tưởng:
- Sử dụng các nhiệm vụ exec gọi PowerShell? (không chắc chắn cách thức này sẽ hoạt động)
- Viết tác vụ NAnt tùy chỉnh tham chiếu và sử dụng Cmdlet?
Điều gì có thể là cách hay để thực hiện việc này?
Ông có thể làm rõ việc bạn sử dụng dấu và? Nếu không có một lời giải thích, câu trả lời của bạn trông khá giống với câu trả lời của [câu trả lời của VJ] (http://stackoverflow.com/a/4311491/622391)? –
Dấu và là toán tử cuộc gọi trong PowerShell. Sau đây là từ đầu ra lệnh 'get-help about_operators' trong các toán tử đặc biệt: '& Gọi toán tử Chạy lệnh, tập lệnh hoặc khối tập lệnh.Toán tử cuộc gọi, còn được gọi là toán tử gọi "," cho phép bạn chạy các lệnh được lưu trữ trong các biến số và được biểu diễn bằng chuỗi. Bởi vì toán tử cuộc gọi không phân tích lệnh, nó không thể diễn giải các tham số lệnh. ' –
Để làm rõ thêm, Theo kinh nghiệm của tôi, không bao gồm nó có thể gây ra các đối số được xử lý bởi powershell.exe thay vì tập lệnh hoặc chỉ bị mất nói chung. –