トップ回答者
ASPXファイル内の埋め込みコードへのコンパイルオプションの設定方法について

質問
-
お世話になります。以下についてどなたかご存じの方がいましたらご教授下さい。
<環境>
Windows 7 Pro (x86)
Visual Studio 2010 Pro
.NET Framework 4.0
<質問>
Visual Studioでビルドを行った際に出るエラーや警告についてカスタマイズできると思いますが、
そのカスタマイズ設定がASPXファイル内の埋め込みコードになぜか適用されません。
コードビハインドファイル(ASPX.VB)のコードには適用されています。
ASPXファイル内の埋め込みコードにも適用させる方法を教えていただきたいです。
やりたいこととしては、Strict="True"にした状態で、以下のエラーのみを警告にしてコンパイルしたいです。
「遅延バインドの解決です。ランタイム エラーが発生する可能性があります。」
Visual Basic での警告の構成
http://msdn.microsoft.com/ja-jp/library/3y20cc1z(v=vs.100).aspx<確認した手順>
1.ASP.NETプロジェクトを作成する。
2.Default.aspxに以下のコードを書く。
<%
Dim exeobj As Object
exeobj = Server.CreateObject("ASPExec.Execute")
exeobj.Application = "XXXX:\XXXXXX\perl.exe"
exeobj.Parameters = "XXXXX:\XXXXXXXX.pl"
Dim ret = exeobj.ExecuteDosApp
exeobj = Nothing
%>3.Default.aspx.vbのPageLoadメソッド内にも同じコードを書く。
4.ソリューションを選択し右クリック→「プロパティ」で「コンパイル」タブの"Option Strict"を"ON"へ変更。
5.「コンパイル」タブ内の「警告の構成」内の"遅延バインディングです。実行時に呼び出しに失敗する可能性があります。"をエラーから警告に変更。
6.ビルド。
※なぜか「Default.aspx」のコード部はエラーになり、「Default.aspx.vb」は警告となる。
【補足】
Web.configに以下を加えて試してみましたがだめでした。
<system.codedom>
<compilers>
<compiler
language="vb;vbs;visualbasic;vbscript"
extension=".vb;.aspx"
type="Microsoft.VisualBasic.VBCodeProvider, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
warningLevel="4"
compilerOptions="/optionstrict+"
/>
</compilers>
</system.codedom>【質問の背景】
現状の処理は全てASPX側に埋め込まれいる状態で、
・全てコードビハインドに実装する!
・「Server.CreateObject」でCOM系の呼び出しとかしない!
という方法を取りたいですが、事情がありそれができません。かつコンパイルオプションでStrict=ONで
"遅延バインディングです・・・"以外のエラーがないか確認しないといけない状況です。
現状、"遅延バインディングです・・・"のエラーが大量に表示され、他のエラーが見れないです。
「エラーの最大数が制限を超えました。」以上となりますが、どうぞ宜しくお願い致します。
回答
すべての返信
-
返信ありがとうございます。
ASP.NETやVisual Studioに関する知識が乏しいためできるかどうか自体が分からず、質問させて頂いた次第です。
こちらの質問は、なぜASPXの埋め込みコードにはコンパイルオプションが適用されないのだろう?や設定の仕方が間違っているのかな?という疑問から質問させて頂きました。
「なぜ、遅延バインド以外のエラーの数、警告の数を調べないといけないのか」についてですが、このエラー以外のエラーがないかを確認したいためです。
これら以外のエラーがあれば対応するかしないか検討しようと考えています。現状、遅延バインドエラーが最大数の100件表示されてそれ以外のエラーが表示されません。。。
記載して頂いてる別スレッドでも同じようなことを書かせて頂いていますが、
出力させたいエラーはStrictをFalseからTrueにすると出るエラーで、なおかつ遅延バインドエラー以外の数とエラー種類を見たいと思っていました。
こちらもできないというかそういう仕様なのであれば諦めて他の方法を考えたいと思います。
- 編集済み .NET初心者というより全て初心者 2013年4月4日 14:53