【问题标题】:Execute C# code using Powershell [duplicate]使用 Powershell 执行 C# 代码 [重复]
【发布时间】:2017-10-20 19:25:38
【问题描述】:

我可以编写 C# 脚本代码并使用 PowerShell 执行吗?

我不想使用 Visual Studio 提供的命令行工具运行 C#,而是想使用 Notepad++ 编写 C# 脚本并使用 PowerShell 执行代码。

【问题讨论】:

  • @thumbmunkeys SE 网络应该是一种出现在搜索引擎结果中的资源。现有资源不是不在 SO 上询问它的理由。见FAQ: Embrace the non-GooglersFAQ: How should you respond to “Give me a fish” / RTFM questions?
  • @thumbmunkeys 想象一下,您正在寻找一些东西,并且遇到了关于 SO 的问题。有一条评论说“可以通过谷歌搜索这个和那个找到答案”,没有进一步的信息。互联网上很少有比这种情况更让我生气的事情了。
  • @Stijn:我同意,但是这个问题的答案会很长,而且不符合 IMO 的 stackoverflow 格式。看看 Marc Wittman 给出的答案,它和我的建议一样好使用搜索引擎。
  • "我想使用 Notepad++ 编写 C# 脚本并使用 PowerShell 执行代码。"这对我来说似乎很清楚。引用的文章虽然肯定相关,但会将 OP 编写为 PowerShell 字符串的 C#。比尔,这应该足以让您入门: function Invoke-CSharp([string]$Path, [string[]]$argList) { $cs = Get-Content $Path -Raw $type = Add-Type -TypeDefinition $ cs -PassThru -ErrorAction Ignore $type::Main($argList) } Invoke-CSharp 'C:\Program.cs' 'arg1', 'arg2', 'arg3'
  • @thumbmunkeys 这个问题很清楚,有一个准确简洁的答案,不应该被关闭!

标签: c# powershell


【解决方案1】:

在 PowerShell 中使用 C# 代码

“客户喜欢脚本语言,因为它允许他们编写自定义代码而无需运行编译器或将新的可执行文件复制到他们的生产机器上,这通常需要比部署脚本文件甚至执行更复杂的审批过程命令外壳中的命令。

因此,如果现有的 C# 代码可以在 PowerShell 中重复使用,而无需将其实现为 Cmdlet,那就太好了。”

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

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

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

博客文章中提供的完整示例

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

【讨论】:

  • 实际上,我今天正在观看一个 youtube 视频,演示者在文本编辑器中编写 C# 代码,然后转到 Powershell 并执行类似的“脚本 app.csx”。我想知道是否可以使用 Powershell 以这种方式运行/执行 C# 代码。谢谢
猜你喜欢
  • 2014-04-24
  • 1970-01-01
  • 2018-10-25
  • 1970-01-01
  • 2023-03-16
  • 1970-01-01
  • 1970-01-01
  • 2019-03-25
  • 2017-09-24
相关资源
最近更新 更多