読者です 読者をやめる 読者になる 読者になる

仕事やプライベートで調べたことのメモ書きなど(@札幌)

仕事やプライベートで調べたこと、興味ある事のメモ書きです。2016年4月から札幌で働いてます。※このブログは個人によるもので、団体を代表するものではありません。

PowerShellでC#をコンパイル(Version3対応)

仕事 Windows

覚書。PowerShellのAdd-Typeを使ってC#コンパイルするメモ書き。
以下の問題に対応しています。本来は-pathを指定するとファイルを直接指定できるのですが、csharpversion3オプションと使用するとなぜかエラーになるようです。
stackoverflow.com
cs_compile.ps1

$source = (gc test.cs) -join ""
$outpath = 'test.exe'
Add-Type -Language CSharpVersion3 -TypeDefinition $source -OutputAssembly $outpath -OutputType ConsoleApplication

test.csという名前でC#のソースを作って、以下のコマンドラインで実行

powershell -ExecutionPolicy RemoteSigned ./cs_compile.ps1

すると、test.exeというファイルができますよ。

Add-typeを使わずに、csc.exeでやりたいという方は、以下などを参照するとよいでしょう。
qiita.com
.NET Frameworkが入っていないWindows PCは皆無でしょうから、C#コンパイラが最初から入っているに等しいです。