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


285

ソリューションを開いたときに「利用できない」ソリューションファイルに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 Enterprise Service Pack 1
  • IISバージョン7.5

回答:


87

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

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

これを行うには、C:\(Windows)\ Microsoft.NET \ Framework \(dotnetver)\の関連する.netバージョンのフォルダーに移動し(PCの正しいフォルダーをブラケットで囲まれたフォルダーに置き換えます)、このコマンドを実行します

aspnet_regiis.exe -i

次に、それが実行されて終了すると、時には実行されます

iisreset

コマンドラインからのヘルプは、時にはあなたがする必要はありません。

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

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

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

ソリューションをリロードすると、機能するはずです。

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

幸運を!


私は指示に従い、次のエラーを受け取りました。このエラーのために、仮想ディレクトリを削除しました。一意のキー属性 'name'が 'Telerik_Web_UI_WebResource_axd'に設定されたタイプ 'add'の重複するコレクションエントリを追加できません
-practitioner

ソリューションを開始すると、IISまたはVisual Studioでエラーが発生しますか?
ラスクラーク

また、新しいasp.netプロジェクトのweb.configを確認してください。「Telerik.WebResource.axd」への参照が2つ以上あるため、1つだけ必要です。
Russ Clarke

私はweb.configを確認しました。問題のあるエントリを削除すると、削除されたエントリが必要であるというエラーメッセージが表示されます。
dotnet-practitioner

新しいエラーメッセージについて別の質問を間もなく投稿します
dotnet-practitioner

523

承認された回答にはIISマネージャーが必要であり、IIS ExpressにはIISマネージャーやUIがないため、IIS Expressユーザー向けのソリューションを以下に示します(他のすべてのユーザーにも機能するはずです)。

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

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

<UseIIS>False</UseIIS>
保存します。

ここでプロジェクトをリロードします。
できました。

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


33
VS2010では、UseIISはcsprojファイルではなく.csproj.userファイルにあります
oleksa

2
私の場合、IISを使用したいので、URLを変更しただけです。
kjetilh 2013年

アップグレードと移動時にこの問題が発生しました。これは私にとってはうまくいきましたが、ソリューションが読み込まれていないため、csprojをテキストエディターで開いただけです。ダグに感謝します。
キーラン2013年

2
これが正解です。プロジェクトは、IISとIISExpressの両方を同時に使用するように構成されています。
アーロンリード

2
VS2013を使用している場合、ソリューションを右クリックしても[{ProjectName} .csprojの編集]が表示されません。ファイルシステムに移動し、.csprojファイルを手動で編集して編集を完了しました。それは読み取り専用だったので、少しダンスをしなければなりませんでしたが、うまくいきました。
Al Lelopath 2014年

222

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


2
このIISエラーが発生したのは、私がチーム内で唯一の人でした。私が作業している開発チームはソース管理からの同じ.csprojファイルを持っていたので、上記の他の解決策は私の問題ではありませんでした。あなたが言及した.csproj.userファイルが私の状況でこのエラーを引き起こしていることがわかりました。ありがとう!
マイスタックがオーバーフローします。

3
これは、他のほとんどすべてを試した後、私にとってはうまくいった
David

3
これが正解です。マシン上のプロジェクトの構成に関する問題を解決します(特にTFSを使用する場合に重要です)。
マーカス2014

1
これは、カスタムのiisurlタグを設定したが、プロジェクトがローカルホスト<IISUrl> MachineName.domain:12345 / </ IISUrl >
lsp

5
これは私のために働いた。私の場合、<UseIIS>設定はありませんでした。
Techgration 2014年

33

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

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

または

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

csprojスクリーンショット


30

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

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

最初のものだけを削除してみましたが、それだけでは不十分でした。

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


9
これはうまくいきました、そしてこれは答えとしてマークされるべきです。私はSOで提案されているように多くの解決策を試しましたが、これを除いて私のために機能するものはありませんでした。
Bose_geek

3
上記のすべての提案を試した後、これは実際に私のために働いたものです。ありがとうございます。
ノーブルサベージ

2
これはプロジェクトタイプに変更されたため、Webアプリケーションではなくなりました。
オラム

3
.csprojファイルから<ProjectGuid>を削除することはお勧めできません。プロジェクトをロードするには、<ProjectTypeGuids>のみを削除するだけで十分です。これは、@ Oramが述べたように、プロジェクトタイプを変更するため、これも悪い考えです。この回答は、変更をコミットしたくない場合に適しています。VSのコードを調べてください。
elshev

1
これにより、請負業者が開発したVisual Studio 2010ソリューションで発生したソリューションエクスプローラーの読み込みエラーが解決され、2013年に移行します。ソリューションファイルには2つのプロジェクトがあります。WebアプリとWebサービス。どちらもロードできなかったため、ソリューションエクスプローラーは、ソリューションファイルを開こうとした後に2つの空のフォルダーのみを表示していました。提案されたProjectGuidおよびProjectTypeGuids行をコメント化すると、ソリューションエクスプローラーでこれらのプロジェクトの依存関係を確認できます。私にとっては、これらの変更を簡単に元に戻すことができるので、これは低リスクの高収益オプションでした。ありがとう!
JohnH

26

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

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

1
私はまた、80以外の値にDevelopmentServerPortを変更しなければならなかった
JoshNaro

1
そして、csprojファイルに設定が見つからない場合。.csproj.userファイルを開き、そこで実行します。
devzero

10

私の場合、この問題はIISバインディングの破損が原因でした。具体的には、私の「http」バインディングが削除されていました。問題を修正して再作成しました。


非常によく似た問題が発生しました。私のHTTPバインディングはある日それ自体の名前を変更したようです-_-のプロジェクトファイル設定<IISUrl>は変更されませんでしたが(私のメモリと正気を確認してくれたSVNに感謝します)、どういうわけかiisバインディングがありました。それを修正し、投影がすぐにロードされました。
Patrick M

また、何らかの理由でターゲットサイトのsni / hostnameを変更したかどうかを確認してください。これが原因でエラーが発生しました。
juarola 2015

5

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


5

これは私にとってうまくいきました:-
すべてのIIS Webサイトがlocalhost(All Unassigned)のみを指すようにします

ここに画像の説明を入力してください


5

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

<UseIISExpress>false</UseIISExpress>

それをtrueに変更します。

<UseIISExpress>true</UseIISExpress>

これは実際の解決策よりも問題の回避策の方が多いと思いますが、それが私の緊急の問題を解決したので、それを高く評価しました。
ナンダン

うまくいきました:)
Hammad Sajid

4

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

mywebproject.csprojファイル内-

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


4

あなたはそれを信じないでしょう start管理者としてのビジュアルスタジオ

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

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

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

これだけrestartのようにVisual Studioの管理者


3

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

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

だから私はそれを次のように変更しました:

<IISUrl>https://localhost/</IISUrl>


2

Win8ユーザーの場合、承認された回答の手順に従うと、コンソールから「コマンドラインを使用してこのコマンドを実行しないでください」というメッセージが表示されます(言い換え)。代わりに、コントロールパネル(またはWindows + R> appwiz.cpl)から[プログラムと機能]にアクセスし、[Windowsの機能の有効化または無効化]をクリックして、次のものがインストールされていることを確認します。

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

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


2

これは、.csprojファイルからプロジェクトを開こうとしたときに発生しますが、VSからプロジェクトを開くと問題が解決します。

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

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


1

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

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


1

IIS Expressがインストールされているかどうかを確認します。IIS Expressが欠落している場合、Visual Studioは設定<UseIISExpress>false</UseIISExpress>を破棄し、引き続きExpressを探します。


1

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


1

私の場合、IISの "既定のWebサイト"には、ポート80のlocalhostのバインドがありませんでした。.csprojファイルの値が何であっても、バインドが必要です。


1

以下のリンクからダウンロードした後にIIS Expressを再インストールするだけでこれを修正しました:

https://www.microsoft.com/en-us/download/confirmation.aspx?id=48264


1
これは質問に対する答えを提供しません。十分な評判られると、どの投稿にもコメントできるようになります。代わりに、質問者からの説明を必要としない回答を提供してください。- 口コミより
FluffyKitten

@FluffyKitten OPと同じエラーが発生しました。他のすべての回答を試しましたが、IIS Expressの再インストール以外には何も機能しませんでした。これがOPの質問に対する私の答えだと思います。IISを再インストールします。
2017

回答に低品質のフラグが付けられ、レビュープロセスが行われています(コメントの最後にある「レビューから」に注意してください)。動作する可能性はありますが、ソフトウェアの再インストールは、他に何も機能しない場合の最後の手段であり、このOPの問題に対する特定の解決策ではありません。
FluffyKitten 2017

それが何も機能しない最後の手段であり、Ajay2707によると、他の貧弱な魂のために他の回答が機能しない可能性がある場合、この回答は役立つと思います。一部の人に有効な唯一の回答である可能性がある場合、回答を低品質としてどのように指定できますか?Ajay2707をサポートします。コミュニティへの貢献に時間を割いていただきありがとうございます。
nardnob 2017

Inb4この会話は低品質として移動/削除されます。ビバラレジスタンス!!
nardnob 2017

0

私の場合、csprojで参照されるURLファイルでが間違っていました。

プレフィックスを付ける必要がありました wwwを。

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


0

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

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


0

DNNユーザーの場合、私の問題は、ポート80でdnndev.meにバインドする必要があったことです。複数のインストールが異なるポートで実行されており、VSでは、特定のURLがポート80に存在する必要があります(私のような86ではありません)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.