|
.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 記事ランキング
本日
月間