C#(シーシャープ)について
C#(シーシャープ)とは、Microsoft(マイクロソフト)社によって開発されたプログラミング言語です。 C#のプログラムを開発、実行するには,コンピュータに.NET Framework(ドットネット フレームワーク)をインストールする必要があります。 C#でコンパイルして使ったEXEは、中間形式EXEです。中間形式EXEは、実行時に、.NET Frameworkでネイティブコードに変換され実行されます。 C#の開発環境には、統合開発環境のMicrosoft Visual Studioやcsc.exeコンパイラがあります。
MSBuildについて
MSBuildは.NET Framework 2.0 ラインタイム以降に標準で含まれているビルド・エンジンです。 %WINDIR%\Microsoft.Net\Framework\「\v3.5など.NET Frameworkバージョン」配下フォルダにあります。 Visual Studio 2005以降のプロジェクト・ファイル(「*.sln」、「*.*proj」)を用いてC#(csc.exeにて)やVB.NET(vbc.exeにて)をビルド(コンパイル)が出来ます。 MSBuildは.NET Frameworkラインタイムに標準で含まれているので、Visual Studioがインストールされていない端末でもテキストエディタさえあれば、C#やVB.NETをプログラミング、そして、ビルドが出来ます。 MSBuildを用いれば、プロジェクトのビルドをバッチ処理で行えます。
(コマンドプロンプトにて)MSBuildを用いたビルド例
set PATH=%PATH%;%WINDIR%\Microsoft.Net\Framework\v3.5 msbuild test.csproj /t:Build /verbosity:detailed /p:Configuration=Debug
サンプルプロジェクト・ファイル
<Project DefaultTargets="build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <!-- =========== プロパティ ========== --> <PropertyGroup> <ProjectName>test</ProjectName> <AssemblyName>test</AssemblyName> <OutputPath>Bin\</OutputPath> </PropertyGroup> <!-- ======= アイテムグループ ======== --> <ItemGroup> <CSFile Include="SrcTest.cs"/> <Reference Include="System.dll"/> <Reference Include="System.Data.dll"/> <Reference Include="System.Drawing.dll"/> <Reference Include="System.XML.dll"/> </ItemGroup> <!-- =========== ターゲット ========== --> <!-- buildターゲット(C#プロジェクトをコンパイル) --> <Target Name="build" > <MakeDir Directories="$(OutputPath)" Condition="!Exists('$(OutputPath)')" /> <CSC Sources="@(CSFile)" References="@(Reference)" OutputAssembly="$(OutputPath)$(AssemblyName).exe" /> </Target> <Target Name="Clean" > <Delete Files="$(OutputPath)$(AssemblyName).exe" /> </Target> <Target Name="Rebuild" DependsOnTargets="Clean;Build" /> </Project>