|   | 
| 
 .NET TIPS 
コンパイラによりデフォルトで参照されるアセンブリは?
デジタルアドバンテージ 
2004/07/02 | 
  | 
 
 | 
   コマンド・プロンプトでC#コンパイラ(csc.exe)を使用してプログラムをコンパイルする場合、.NET Frameworkのクラス・ライブラリに含まれているほとんどのアセンブリ(DLLファイル)は明示的に参照する必要がない(これに対してVB.NETのコンパイラ(vbc.exe)では、/referenceオプション(省略形は/r:)により、例えば/r:System.dllなどとして個々にアセンブリを参照する必要がある)。
 これは、csc.exeがデフォルトで使用する一連のオプションを記述したファイル「csc.rsp」(応答ファイルと呼ばれる)により、各アセンブリが参照設定されているためである。csc.rspはcsc.exeと同じディレクトリ*に格納されており、実際には次のような内容になっている。
 
| 
* デフォルトでは「C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322」(.NET Framework 1.1の場合)。 | 
 
# This file contains command-line options that the C# 
# command line compiler (CSC) will process as part 
# of every compilation, unless the "/noconfig" option 
# is specified. 
 
# Reference the common Framework libraries 
/r:Accessibility.dll 
/r:Microsoft.Vsa.dll 
/r:System.Configuration.Install.dll 
/r:System.Data.dll 
/r:System.Design.dll 
/r:System.DirectoryServices.dll 
/r:System.dll 
/r:System.Drawing.Design.dll 
/r:System.Drawing.dll 
/r:System.EnterpriseServices.dll 
/r:System.Management.dll 
/r:System.Messaging.dll 
/r:System.Runtime.Remoting.dll 
/r:System.Runtime.Serialization.Formatters.Soap.dll 
/r:System.Security.dll 
/r:System.ServiceProcess.dll 
/r:System.Web.dll 
/r:System.Web.Mobile.dll 
/r:System.Web.RegularExpressions.dll 
/r:System.Web.Services.dll 
/r:System.Windows.Forms.Dll 
/r:System.XML.dll 
 | 
 
 
 | 
 
| csc.rspファイルの内容 | 
| #で始まる行はコメントである。このファイルに記述されたコンパイラ・オプションはデフォルトで適用される。なお、Visual Studio .NETでは、このファイルは使用されない。 | 
 このファイルは自由に編集が可能で、例えば「/nologo」という1行を追加しておけば、コンパイラの起動時に表示される起動時メッセージ(Copyright表示)を常に非表示にできる。
 また、csc.rspの先頭部分にあるコメントにも記述されているように、コマンドラインで/noconfigオプションを指定した場合には、このファイルは使用されない。
 ちなみにVB.NETコンパイラ(vbc.exe)には、このような応答ファイルを使用する機能はない(.NET Framework 1.1の場合)。しかし次期.NET Framework 2.0では、csc.rspと同じ内容の応答ファイル「vbc.rsp」が提供され、この機能が使えるようになっている(ベータ版(バージョン 2.0.40607.16)で確認している)。
 
 
|  
 | 
 
generated by  
 | 
 
 
 | 
 
 
	
		Insider.NET 記事ランキング
		
		
			本日
			月間