2014-04-09 30 views
7

Tôi có thể viết mã script C# và thực thi nó bằng PowerShell không?Thực hiện mã C# bằng Powershell

Thay vì chạy C# bằng cách sử dụng các công cụ dòng lệnh do Visual Studio cung cấp, tôi muốn viết kịch bản lệnh C# bằng Notepad ++ và thực thi mã bằng PowerShell.

+0

@thumbmunkeys Mạng SE được coi là một nguồn tài nguyên mà xuất hiện trong kết quả công cụ tìm kiếm. Tài nguyên hiện có không phải là lý do để không hỏi nó trên SO. Xem [Câu hỏi thường gặp: Bao gồm những người không phải là nhân viên của Google] (http://meta.stackexchange.com/questions/5280/embrace-the-non-googlers) và [Câu hỏi thường gặp: Bạn nên phản hồi như thế nào với “Hãy cho tôi một con cá”/RTFM câu hỏi?] (http://meta.stackexchange.com/questions/2686/how-should-you-respond-to-give-me-a-fish-rtfm-questions) – Stijn

+0

@thumbmunkeys Hãy tưởng tượng bạn đang tìm kiếm thứ gì đó và bạn đến một câu hỏi về SO. Có một nhận xét nói rằng "câu trả lời có thể được tìm thấy bằng cách googling cho điều này và rằng" mà không có thêm thông tin. Có vài điều trên internet làm tôi bực bội hơn những tình huống như vậy. – Stijn

+0

@Stijn: Tôi đồng ý, nhưng câu trả lời cho câu hỏi này sẽ khá dài và không phù hợp với định dạng stackoverflow IMO. Nhìn vào câu trả lời nhất định từ Marc Wittman, nó là tốt như đề nghị của tôi để sử dụng một công cụ tìm kiếm. – thumbmunkeys

Trả lời

8

Sử dụng C# Mã trong PowerShell

"Khách hàng như ngôn ngữ kịch bản vì nó cho phép họ viết mã tùy chỉnh mà không cần phải chạy một trình biên dịch hoặc sao chép file thực thi mới cho các máy sản xuất của họ mà thường đòi hỏi một quá trình phê duyệt phức tạp hơn hơn là triển khai tệp tập lệnh hoặc thậm chí để thực thi các lệnh trong một trình bao lệnh.

Vì vậy, sẽ tuyệt vời nếu mã C# hiện có có thể được sử dụng lại bên trong PowerShell mà không cần thực hiện nó dưới dạng Cmdlet. "

$Assem = (
...add referenced assemblies here... 
    ) 

$Source = @" 
...add C# source code here... 
"@ 

Add-Type -ReferencedAssemblies $Assem -TypeDefinition $Source -Language CSharp 

Full dụ được cung cấp trong bài viết blog

https://blogs.technet.microsoft.com/stefan_gossner/2010/05/07/using-csharp-c-code-in-powershell-scripts/

+0

Trên thực tế, tôi đã xem một video youtube ngày hôm nay, nơi người trình bày viết mã C# trong trình soạn thảo văn bản, sau đó đi đến Powershell và thực hiện "script app.csx" một cái gì đó như thế. Tôi tự hỏi liệu Powershell có thể được sử dụng để chạy/thực thi mã C# theo cách này hay không. Cảm ơn – Bill

+0

https://github.com/nikhilk/scriptsharp – robrich

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