C#と諸々

C#がメインで他もまぁ諸々なブログです
おかしなこと書いてたら指摘してくれると嬉しいです(´・∀・`)
つーかコメント欲しい(´・ω・`)

2006/08/01 00:28
System.Diagnostics.Traceは、TRACEシンボルが定義されている場合のみ使用できる。Windowsアプリケーションプロジェクトやクラスライブラリプロジェクトの場合、コンパイル時にTRACEシンボルを定義するようデフォルトで設定されている。しかし、ASP.NETの場合、TRACEシンボルはデフォルトで定義されない。ASP.NETでSystem.Diagnostics.Traceを使用したい場合は、コンパイル時にTRACEシンボルを定義するよう、以下の記述をWeb.Configのconfigurationセクションに追加してやる必要がある。

<!-- Web.Configのconfigurationセクションに記述 -->
<system.codedom>
    <compilers>
        <compiler
         language="c#;cs;csharp"
         extension=".cs"
         compilerOptions="/define:TRACE"
         type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
         warningLevel="1"/>
    </compilers>
</system.codedom>


このように、compilerセクションのcompilerOptions属性にTRACEシンボルを定義するようにコンパイルオプションを指定する。language属性,extension属性,type属性は省略できない。
これで、ASP.NETでSystem.Diagnostics.Traceを使用できるようになる。


// 追記 ( 2007/03/22 )
ちなみに、最適化オプション ( "/optimize+" ) は指定しなくても最適化されるから問題なし^^;
スポンサーサイト



タグ: C# .NET ASP.NET Trace ログ