次の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 = "こんにちは世界"; c:\Users\Administrator\AppData\Local\Temp\c9er05ba.0.cs(11) : }
ただし、このスクリプトをコピーしてPowerGUIに貼り付けると、問題なく動作します。
私が見つけた最も役に立ったリンクはこれでした。-language パラメータを csharpversion3 に変更しようとしましたが、次のようになりました。
タイプを追加できません。コンパイル エラーがありました。(0) : 同じ ID を持つアセンブリ 'System.Core, Version=3.5.0.0, Cul ture=neutral, PublicKeyToken=b77a5c561934e089' は既にインポートされています。重複する参照の 1 つを削除してみてください。 (1) : システムを使用。
このスクリプトを適切に実行する方法はありますか?