Visual studio のローカルホスト web サーバーに接続できません 2005

ある時、何もしてないのに

Web サーバー 'IIS Express' に接続できませんでした。

とエラーが表示され、ASP.NET プロジェクトがデバッグできなくなりました。
このエラーの原因と対する対処は多くあるようなので今回はその一つということになります。

■ 何もしてないのに発生する

今回はとあるマシン上でデバッグしていた ASP.NET プロジェクトを別のマシンで開いてデバッグしようとしたら発生しました。何もしてないのに。

■ 何もしてないから発生する

今回の原因は、.vs フォルダをそのままに別のマシンで開いたことが原因のようでした。.vs フォルダ内のさらにどこなのかまでは確認はしていません。このフォルダを環境を超えて共有してしまうことがイレギュラーなので深堀しなくて良いかと思いまして。

■ 対処方法

.vs フォルダを削除する。これで元気にデバッグできるようになりました。
横着せず Git などを介してソースを共有していれば問題にならない事象でした。

Visual studio のローカルホスト web サーバーに接続できません 2005

ASP.NETアプリケーションを実行する場合には、ブラウザーを介して行う必要があります。このためには、サーバーにファイルをアップロードして外部からアクセスしなければなりません。この環境を用意できない場合、WindowsではIIS(Internet Information Service)という仮想のサーバー環境を利用することで、ローカル環境でもASP.NETを動かすことが可能です。

システム
エンジニアASP.NETをWindowsのローカル環境で動かすにはどうしたら良いですか?プロジェクト
マネージャーその場合はIISを利用するのがおすすめです。動かす前に環境設定が必要なので、導入方法から見ていきましょうか。

IISの概要と導入・構築方法

IISは、Windows環境上で仮想サーバーを稼働させるためのソフトウェアです。利用するには設定が必要になりますが、一度設定してしまえば、ASP.NETで作成したファイルを簡単に表示できるようになります。仮想サーバーを構築する方法はいくつかありますが、IISはWindowsの標準ソフトウェアとしてインストールされているので、こちらを利用する方が簡単です。

IISの設定方法(Windows10の場合)

Visual studio のローカルホスト web サーバーに接続できません 2005

スタートメニュー→Windowsシステムツール→コントロールパネルを選択します。

Visual studio のローカルホスト web サーバーに接続できません 2005

プログラムを選択します。

Visual studio のローカルホスト web サーバーに接続できません 2005

Windowsの機能の有効化または無効化を選択します。

Visual studio のローカルホスト web サーバーに接続できません 2005

インターネットインフォメーションサービスにチェックを入れて「OK」を選択します。(必要に応じて.NET Frameworkもここでインストールできます。)

Visual studio のローカルホスト web サーバーに接続できません 2005

スタートメニュー→Windows管理ツール→インターネットインフォメーションサービスがあればインストール完了です。

Visual studio のローカルホスト web サーバーに接続できません 2005

http://localhost/と入力して、上記の画面が出れば設定完了となります。

アプリの作成

IISの設定が完了したら、実際にASP.NETを動かすためのファイルを作成します。Visual Studioで作成しても構いませんが、コードの書き方が分かるのであれば、テキストファイルから打ち込んでも問題ありません。コンパイルは画面表示の時に行われますので、エラーがある場合には表示エラーの画面になります。

コードを作成したら、rootフォルダへコピーをしましょう。基本的にはlocalhostで呼び出しますが、それと紐づいたフォルダに入れないと呼び出すことができないためです。通常のサーバー環境にアップロードするにはFTPなどを使って行う必要がありますが、IISの場合は設定してあるフォルダへコピーを行うだけと、非常にシンプルです(rootフォルダへのファイルのコピーには管理者権限が必要です)。

また、デフォルト設定ではポート番号80が使用されますが、利用するポート番号を複数設定することも可能です。その場合、http://localhost:○○と(○○に設定したポート番号)指定してアクセスします。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

<%@PageLanguage="C#"%>

<!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN"

    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

    <title>ASP.NET FirstTest</title>

</head>

<body>

<p>

<%

     Response.Write("ASP.NET TEST");

%>

</p>

</body>

</html>

実行結果

Visual studio のローカルホスト web サーバーに接続できません 2005

このコードでは、指定したメッセージを画面に表示します。

IISに簡単なASP.NET Coreアプリを発行する

では、次にASP.NET CoreアプリをIISで動かしてみましょう。Visual Studioを利用してデフォルトのCoreファイルを作ることにします。まず、Visual Studioを立ち上げ、ASP.NET CoreのWebアプリケーション作成を選択してデフォルトのプロジェクトを作成しましょう。

Visual studio のローカルホスト web サーバーに接続できません 2005

プロジェクトの作成が完了したら、そのままビルドしてみましょう。すでにデフォルト設定は済んでいるので、表示するための最低限のファイルがそろっている状態でプロジェクトが作成されています。ビルドが完了したら、実行ファイル(.exe)を起動しましょう。実行ファイルはプロジェクト配下のbinフォルダ、もしくはDebugフォルダに作成されています。実行するとコマンドプロンプトが起動し、アクセスするためのポート番号が開かれるので、localhost:○○(指定されたポート番号)にアクセスしましょう。

Visual studio のローカルホスト web サーバーに接続できません 2005

↑最上部にアプリケーションにアクセスするためのアドレスが表示されます。

実行結果

Visual studio のローカルホスト web サーバーに接続できません 2005

デフォルトのままビルドしたページが表示されます。ビルドした時点でのソースファイルが反映されているので、ソースが変更された場合は実行ファイルを一旦シャットダウン(Ctrl+Cキーを押す)して、再度ビルドしなおします。

IISを動かす際の注意事項

IISを利用してローカルネットワーク上からアクセスすることはできますが、ライセンス条項によると20台を超えるアクセスを行うと、違反になってしまうので、規模が大きい開発を行う場合には注意が必要です。

システム
エンジニア扱い方も簡単で、操作もしやすいのでASP.NETを動かすときには重宝しますね。プロジェクト
マネージャー単体テストや簡単な動作チェックもしやすいですし、セットアップも楽ですからIISはローカルサーバーとして利用されるシェアも高いですよ。

簡単に操作できるので導入・環境構築がスムーズ

IISは環境構築する手間が他のローカルサーバーと比べても楽です。特にサーバーへのコマンドなどを打つ必要がないことは大きな利点で、サーバー構築に不慣れなユーザーでも扱いやすいでしょう。WindowsでASP.NETを動かすならば、IISが最も簡単に仮想サーバーを構築できる手段になります。