.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)で確認している)。End of Article

カテゴリ:開発環境&ツール 処理対象:コンパイル
 
この記事と関連性の高い別の.NET TIPS
OSに標準付属のC#/VBコンパイラーでソースコードをコンパイルするには?
プログラムからソース・コードをコンパイルするには?
C#のソース・コードを実行するには?
[ASP.NET]ページから生成されたソース・コードを見るには?
手軽にプロパティを実装するには?
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

「.NET TIPS」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間