トップ回答者
ASP.NET2005 のOptionStrictについて

質問
-
いつも拝見させて頂いております。
現在 VisualStudio2005 ProfessionalでWEBフォームを作成しております。
質問したい事はOptionStrictをWEBプロジェクト内デフォルトでONに出来ないのか?という事です。
今まではWEBConfigファイルに以下のようにstrict/explicitを記述すれば option strictなどはonになると考えていました。
<compilation strict="true" explicit="true">
この条件下でhogehoge.aspx.vbファイルに暗黙の型変換を行うようなコードを記述すると、コンパイルエラーが発生しないようになっています。(=strict off と同じであると思われる。)
当然ながら上記hogehoge.aspx.vbファイルの先頭にoption strict onを宣言すると正常にコンパイルエラーが発生します。
この状態では全ての *.aspx.vb ファイルにoption strict onなどを書かなくてはいけないように思えます。
どこかのWEBプロジェクトの設定のプロパティページを見渡しても該当すると思われる設定がありません。
メニュー→ツール→オプション から行えるVisualBasicの設定もoption strict/option explicit共にONとなっています。
もし、変更や設定の方法をご存知の方がいらっしゃいましたらお教え願えませんでしょうか?
大変基本的なことで申し訳ありませんが、よろしくお願い致します。
回答
-
tsukasa さん こんにちは。 ご調査いただいたように、現在のところasp.netページのコンパイル オプションはVS 2005のツール メニューから設定できますが、言語ファイルのコンパイル オプションは設定することができません。分離コード ファイル、およびapp_codeフォルダのものには、以下の内容をweb.configの<configuration>セクションに直接記述することによって指定が可能です。
<system.codedom>
<compilers>
<compiler language="vb" extension=".vb" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" compilerOptions="/optionstrict+"/>
</compilers>
</system.codedom>
上記の記述によって、分離コード ファイルやapp_codeフォルダ内のものにOptionStrictが指定されます。OptionExplicitも同様にcompilerOptionsにて/optionexplict+を指定することによって可能ですので、お試しください。
ディベロッパー製品開発統括部インターナショナルPMチーム
この投稿は現状のまま何の保証もなく掲載しているものであり、何らかの権利を許諾するものでもありません。コミュニティにおけるマイクロソフト社員による発言やコメントは、マイクロソフトの正式な見解またはコメントではありません。詳しくは http://www.microsoft.com/japan/communities/msp.mspx をご覧ください。
すべての返信
-
tsukasa さん こんにちは。 ご調査いただいたように、現在のところasp.netページのコンパイル オプションはVS 2005のツール メニューから設定できますが、言語ファイルのコンパイル オプションは設定することができません。分離コード ファイル、およびapp_codeフォルダのものには、以下の内容をweb.configの<configuration>セクションに直接記述することによって指定が可能です。
<system.codedom>
<compilers>
<compiler language="vb" extension=".vb" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" compilerOptions="/optionstrict+"/>
</compilers>
</system.codedom>
上記の記述によって、分離コード ファイルやapp_codeフォルダ内のものにOptionStrictが指定されます。OptionExplicitも同様にcompilerOptionsにて/optionexplict+を指定することによって可能ですので、お試しください。
ディベロッパー製品開発統括部インターナショナルPMチーム
この投稿は現状のまま何の保証もなく掲載しているものであり、何らかの権利を許諾するものでもありません。コミュニティにおけるマイクロソフト社員による発言やコメントは、マイクロソフトの正式な見解またはコメントではありません。詳しくは http://www.microsoft.com/japan/communities/msp.mspx をご覧ください。