6

I recently had to remap my solution to a new directory, upon trying to reload the solution in visual studio 2010 I get the error message:

"Cannot open Web Site 'http ://localhost/XXX'. You must run Visual Studio in the context of an administrator account to create IIS Express sites with ports less than 1024."

This is strange because as far as I can tell, the port defined in the solution file is well above port 1024. And the only advice I can find requires that I open the solution in VS (funny little catch 22 right?).

The solution worked before I remapped and re-downloaded the solution from TFS.

This is in remote apps, so I don't have access to actually run VS as an administrator.

4

6 に答える 6

4

Web サイトを VS 2005 から VS 2012 にアップグレードした後、このエラーが発生しました。cDecker32 の答えは正しいですが、サポートの詳細をいくつか追加しています...

このサイトは、VS 2005 sln ファイルで次のように宣言されています。

Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "C:\...\EMR\", "EMR", "{6E950F28-C219-492C-B9A3-5480D70475FB}"

VS 2012 では、アップグレード中に localhost を参照するように変更されました。

Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "http://localhost/EMR/", "http://localhost/EMR", "{6E950F28-C219-492C-B9A3-5480D70475FB}"

「管理者として実行」(エラー メッセージの指示に従って) で VS 2012 を再起動した後、「localhost」はプロジェクト名から削除されましたが、パスには保持されました。

Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "EMR-Site/EMR", "http://localhost/EMR", "{6E950F28-C219-492C-B9A3-5480D70475FB}"

これにより、ソリューションを読み込むことができましたが、この時点でサイトを実行できませんでした。studio は、1024 未満のポートを使用するには管理者権限が必要であると訴えました。localhost はポート 80 の IIS を意味すると想定していると思います。

プロジェクト定義とソース管理セクションの両方で手動でパスの名前を「\EMR」に変更すると、VS 2005 と同じようにサイトを実行できました。

于 2013-10-03T14:15:09.623 に答える
4

少し前に解決策を見つけましたが、他の誰かがこの日遭遇した場合に備えて、ここに回答を投稿するのを忘れていました.

プロジェクトを含むソリューション ファイルを開く場合は、問題の Web サイトが参照されている 'localhost' のインスタンスをすべて削除する必要があります。これはトリックを行うようです。

私の推測では、VS は「localhost」を認識し、ローカル マシンで実際にサイトを開こうとしているか、そのアドレスにバインドしようとしていると想定しています。これはポートエラーを説明します。

于 2013-04-11T18:38:15.623 に答える
2

VS2013 でプロジェクトを開いたときにこの問題が発生しましたが、VS2012 ではまだ問題はありません。次のことを行うことで問題を解決できました。

プロジェクト ファイルをテキスト エディターで開き、プロジェクト ファイルの次の行を変更します。

<AutoAssignPort>False</AutoAssignPort> -> <AutoAssignPort>True</AutoAssignPort>

また、次の行を削除しました。

<DevelopmentServerPort>81</DevelopmentServerPort>
于 2015-04-30T11:59:19.820 に答える