我有以下 powershell 脚本:
# C-Sharp source for taking our screenshot
$Source = @"
using System;
using System.Linq;
namespace Testing
{
public static class TestClass
{
public static void DoTest()
{
var myLinq = "hello world";
}
}
}
"@
$assem = @("System.Core")
$null = Add-Type -ReferencedAssemblies $assem -TypeDefinition $Source -Language Csharp
如果我通过 powershell.exe 运行它,powershell.exe C:\test.ps1
我会收到以下错误:
无法添加类型。有编译错误。c:\Users\Administrator\AppData\Local\Temp\c9er05ba.0.cs(10) :类型或 n 找不到 amespace 名称“var”(您是否缺少 using 指令或程序集引用?) c:\Users\Administrator\AppData\Local\Temp\c9er05ba.0.cs(9) : { c:\Users\Administrator\AppData\Local\Temp\c9er05ba.0.cs(10) : >>> var myLinq = "hello world"; c:\Users\Administrator\AppData\Local\Temp\c9er05ba.0.cs(11) : }
但是,如果我将此脚本复制并粘贴到PowerGUI中,它运行得很好。
我能找到的最有帮助的链接是这个。所以我尝试将我的 -language 参数更改为 csharpversion3,但现在我得到了这个:
无法添加类型。有编译错误。(0) : 具有相同标识的程序集 'System.Core, Version=3.5.0.0, Cul ture=neutral, PublicKeyToken=b77a5c561934e089' 已经被导入。尝试删除重复引用之一。 (1):使用系统;
有什么想法可以让这个脚本正常运行吗?