2011年7月27日水曜日

Eclipse慣れしたボクがVisualStudio環境で困惑すること

これまではCとかJava一辺倒だった(むか~しVB 6.0とかExcel VBAとかもやってましたが、あれはまぁ、ねぇ)ボクですが、今回仕事でC#をVisual Studio 2010環境で弄ってまして、WebアプリケーションをASP.NET MVC3とRazorで作ってるわけですが、もう困惑しまくってます。
というわけで、今後のために「ここが違う」っていうのを、何回かに分けてメモっておきます。
#しかしアレだね、C#ってのはなかなかイケてる言語だね。今更ながら。

デバッグ用WEBサーバーがややこしい

EclipseでWebアプリ(Servlet)開発するとなると、まぁ一般的にはTomcatをインストールして、EclipseにTomcatプラグインを入れて、Eclipse側にTomcatのホームを教えてあげるじゃないですか。

で、下記のボタンを操作することでWEBアプリケーションサーバーが起動して、無事デバッグが出来るようになる。
一番左のボタンを押せばTomcat(WEBアプリケーションサーバー)が起動し、×印のボタンを押せば、サーバーが止まる。
実にわかりやすい。


Visual Studioでも当然、Webアプリのデバッグが出来る。下記の実行ボタンを押すと、Webアプリケーションサーバーが起動してデバッグが出来るようになる。

ちなみに、実行ボタンを押すとブラウザが自動的に起動して、自動で割り当てられたポートに対してアクセスした状態になる。

さらにちなみに、このポートを固定したければ、プロジェクトを右クリックしてプロパティを開き、「WEB」タブを選ぶ。すると、任意で指定したポートに固定したり、IISを指定したり出来る(ここで「え?IISを指定できるって、じゃあ一体何が動いているの?と思った方は勘がいい)。

ここまでは何となく理解できるが、実は既にEclipse+Tomcat環境に慣れ親しんだボクには既に理解し難いことが起こっている。

Tomcatの×ボタンに相当する(であろう)上記の停止ボタンを押したら、普通はWebアプリケーションサーバーも止まる、と考えると思うんだけど、Visual Studio は違う。実はこのボタンを押しても止まってなくて、証拠に、ボタンを押した後にIE等のブラウザを起動して同じポートにHTTPアクセスすると、同じように画面が表示されるんですねぇ。

じゃあ実行ボタンを押したら何が起こっているかと言うと、裏でコイツが起動している(パスは64bit環境の場合)。
C:\Program Files (x86)\Common Files\microsoft shared\DevServer\10.0\WebDev.WebServer40.EXE

要は、こいつがデバッガで、Visual Studioの三角の実行ボタンは「そのデバッガにブラウザをデタッチさせて起動する」ボタン、といったところ。たぶん。

ちなみに、環境とか設定のせいかもしれないけど、Visual Studioで「cshtml」とかのソース画面をアクティブにした状態で実行ボタンを押すと、その画面をブラウザで表示しようとしてエラーになるから気をつけろ。(csとかのhtmlではないソースをアクティブにした状態で実行すること!)


他にもいろいろ、本当にいろいろ「え?」っていうところがあるんだけど、また追々書いていこうと思います。

0 件のコメント: