web-dev-qa-db-ja.com

Webアプリケーションプロジェクト[...]はIISを使用するように設定されています。 Webサーバー[...]が見つかりませんでした。

ソリューションファイルを開いたときに "利用できない" Webプロジェクトがソリューションファイルにあります。 Webプロジェクトを右クリックしてプロジェクトを再ロードすると、次のエラーが表示されます。

The Web Application Project mycompany.myapp.mywebproject is configured to use IIS. The Web Server 'http://localhost/MyWebApp could not be found.

このWebアプリケーション用に仮想ディレクトリを手動で設定していません。

同僚によると、Visual Studioは仮想ディレクトリを作成するように私に促すべきですが、私は促されていません。

私の開発マシンにIISをインストールする前にVS2010をインストールしました。

これが私の開発マシンの設定です。

  • Windows 7エンタープライズ
  • サービスパック1
  • 64ビットOS
  • Visual Studio 2010エンタープライズサービスパック1
  • IISバージョン7.5
247

この場合、最も簡単な解決策は仮想ディレクトリを手動で作成することです。

まず最初に、正しいバージョンのASP.Netがインストールされていること、およびIIS拡張機能がインストールされていることを確認する必要があります。

これを行うには、c:¥(windows)¥Microsoft.net¥(dotnetver)¥内の適切な.netバージョンのフォルダに移動し(括弧で囲まれたフォルダをPC上の正しいフォルダに置き換えます)、次のコマンドを実行します。

aspnet_regiis.exe -i

実行し終えたら、次に実行することがあります

iisreset

コマンドラインから役立ちます、時にはあなたがする必要はありません。

次に、IISマネージャに移動して、localhostのWebサイトを見つけて、[フォルダを追加]を選択します。実際のASP.Netプロジェクトを含むプロジェクト内のフォルダを参照してそれを追加します。

最後に、追加したフォルダを右クリックすると、「アプリケーションに変換する」または「仮想ディレクトリを作成する」などのオプションが表示されます。

!!仮想ディレクトリの名前が 'MyWebApp'であることを確認してください!!

あなたの解決策を再ロードすればそれはうまくいくはずです。

用心してください。これはプログラミングの問題ではありません(そして実際にはここに投稿するべきではありません)が、これは一般的な問題なのでこのガイダンスを投稿しましたが、私が投稿したアドバイスは一般的です。ここに挙げたコマンドは正しいですが、IISで実行する必要がある手順は異なる場合があります。バージョンやアカウントの権限によって異なります。

がんばろう!

79
Russ Clarke

受け入れられた答えはIISマネージャを必要とし、IIS ExpressはIISマネージャもUIも持っていないので、これはIIS Expressユーザのための解決策です(そして他のみんなも):

Visual Studioを起動してエラーメッセージが表示されたら、プロジェクトソリューションエクスプローラを右クリックして[編集{ProjectName} .csproj]を選択します。

プロジェクトファイルで、次の行を変更します。
<UseIIS>True</UseIIS>

<UseIIS>False</UseIIS>
ファイルを保存してください。

今すぐあなたのプロジェクトをリロードします。
完了しました。

その後、プロジェクトを開くことができます。この時点でIISを使用したい場合は、プロジェクトのプロパティに移動して[Web]タブをクリックし、IISを使用するオプションを選択してください。 「仮想ディレクトリを作成する」というボタンがあります。そのディレクトリを作成するには、管理者としてVisual Studioを実行する必要があると言っているかもしれませんが、必要に応じて実行してください。

465
Doug S

プロジェクトフォルダを開き、{Project} .csproj.userを削除してから、プロジェクトをVisual Studioに再読み込みします。

200
qjuanp

.csprojファイルまたはvbprojファイルを編集します。これらのエントリを見つけて置き換える

<UseIIS>true</UseIIS> by <UseIIS>false</UseIIS>
<UseIISExpress>true</UseIISExpress> by <UseIISExpress>false</UseIISExpress>
23
jcmordan

この解決策は私のために働きます。プロジェクトを右クリックして編集を選択し、下の図に示すように次のコードを見つけます。

change the <UseIIS>True</UseIIS> to <UseIIS>False</UseIIS>

OR

change the <IISUrl>http://example.com/</IISUrl> to <IISUrl>http://localhost/</IISUrl>

enter image description here

22
Umar Abbas

私にとっては、私は.csprojファイルからこれら2行を削除する必要がありました

<ProjectGuid>{3AA499DF-4A65-43B7-8965-D08A4C811834}</ProjectGuid>
<ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>

最初のものだけを削除しようとしましたが、十分ではありませんでした。

編集:多くのユーザーが指摘したように、これはあなたのプロジェクトのタイプを変更したり、あなたのソース管理プログラムと混同することができます。それは私がもう持っていない学校のプロジェクトだったので私はこれらの問題を調査することができません。これを試すときは注意してください。少なくともあなたが削除したもののコピーを作成してください。

21
kisslory

私の場合、この問題はIISバインディングの破損が原因でした。具体的には、私の 'http'バインディングは削除されました。再作成すると問題が解決しました。

10
Roger Lipscombe

これは私のために働いた: -
すべてのIIS Webサイトがlocalhost(すべて未割り当て)のみを指すようにする

enter image description here

5
JerryGoyal

管理者権限でVisual Studioを起動してください。私の場合、それはIISサイトへのアクセスを許可し、このエラーを解決させました。その後、管理者権限を必要としないようなIIS Expressを使用するようにプロジェクトを切り替えることができました。

5
kad81

属性UseIISの値をtrueに設定せずにプロジェクトをロードできます。以下の手順に従ってください。

Mywebproject.csprojファイルでは、

タグ<IISUrl> http:// localhost/MyWebApp / </ IISUrl>を削除してファイルを保存します。アプリケーションは自動的にデフォルトポートを割り当てます。

4
Yogesh Gangwar

あなたはそれを信じることはありません、startビジュアルスタジオ管理者

メッセージから明らかなように

Webサーバー ' http:// localhost/MyWebApp 'が見つかりませんでした。

it has no privileges to see itかもしれないので見つかりませんでした

だからrestartビジュアルスタジオは管理者として管理者

4

私の場合は、httpからhttpsに切り替えたいので、IISからhttpを削除しました。私の.csproj.userファイルで私はまだ持っていることがわかりました:

<IISUrl>http://localhost/</IISUrl>

それで私はそれをに変えました:

<IISUrl>https://localhost/</IISUrl>
3
Njaal Gjerde

TFS経由で接続している場合は、project.csproj.userファイルを開いて、

<UseIISExpress>false</UseIISExpress>

そしてそれをtrueに変更します。

<UseIISExpress>true</UseIISExpress>
3
Patrick Dengler

私の場合は、コマンドを実行するだけでソリューションをオフラインモードで開くことができました。

iisreset
2
Conrado Fonseca

これは私が.csprojファイルからプロジェクトを開こうとしたときに起こりますが、VSからプロジェクトを開くことでそれを解決します。

ファイル>開く> Webサイト

自分のプロジェクトを含むディレクトリを選択します。

2
mshwf

あなたがそこにいるWin8ユーザにとって、あなたが受け入れられた答えのステップに従うならば、コンソールはあなたに「あなたはこのコマンドを実行するためにコマンドラインを使用してはならない」と言います。代わりに、コントロールパネル(またはWindows + R> appwiz.cpl)から[プログラムと機能]にアクセスし、[Windowsの機能の有効化または無効化]をクリックして、以下がインストールされていることを確認してください。

Internet Information Services
  > World Wide Web Services
    > Application Development Features
      > ASP.NET 4.5

これは他のオプションもチェックします。これらの機能をインストールし、昇格された権限でVS2012を実行するとすぐに、私は自分のアプリを正常に起動できました。

2
Scott Silvi

私の場合は、「デフォルト」のWebサイトがあることを確認してください

1
drew

私の場合、IISの "Default Web Site"には、ポート80でlocalhostのバインディングがありませんでした。csprojファイルの値がなんであれ、バインディングの必要があります。

1
Dan Mirescu

私もこのエラーがありました。すべてが正しくセットアップされていると思っていましたが、1つ欠けていることがわかりました:プロジェクトに使用したホスト名は(まだ)解決できませんでした。

私のアプリはホスト名から現在のクライアント名を決定するため、開発にはclientname.mysuperapp.localなどのホスト名を使用しました。開発ホスト名をhostsファイルに追加すると、プロジェクトは再びロード可能になりました。明らかに、とにかくこれを行う必要がありましたが、VSがプロジェクトをロードする前にホスト名をチェックするとは考えていませんでした。

1
fero

IIS Expressがインストールされているか確認してください。 IIS Expressがない場合、Visual Studioは設定<UseIISExpress>false</UseIISExpress>を破棄してもExpressを検索する可能性があります。

1
Thea

下のリンクからダウンロードした後、IIS Expressを再インストールすることで、これを修正しました。

https://www.Microsoft.com/ja-jp/download/confirmation.aspx?id=48264

1
Matthew

私の場合は、csprojファイルで参照されているURLが正しくありません。

www。を前に付ける必要があります

変更を加え、ファイルを保存してプロジェクトを正常にロードしました。

0
Patrick Fischer

DNNユーザーのために私の問題は私がポート80でdnndev.meのためのバインディングを必要とすることでした。私は異なるポートで動く複数のインストールを持っています.

0
Mickers

.csprojファイルの<ProjectTypeGuids>要素に単体テストプロジェクトのGUID:{3AC096D0-A1C2-E12C-1390-A8335801FDAB}が含まれていると、この問題に遭遇しました。

それを削除すると、プロジェクトは問題なくロードされました。

0
MvdD