Visual Studio 2012をインストールしたばかりで、最初のWCFサービスアプリケーションを作成したいと考えています。私はJava開発者が.NETの世界に来るので、理解してください:)
新しいC#プロジェクトのWCFサービスアプリケーションを作成しました。次に、デバッグ(またはF5)を押すと、次のエラーが表示されます。
Unable to launch IIS Express
もう一度クリックすると、このような別のエラーがありますが、今度はトレイにIISが表示され、通知(バブル)が表示されます。クリックすると、次のようなメッセージが表示されます。
Port '53234' is already being used by process 'IIS Express' (process ID '5524')
Webタブのプロジェクトプロパティでポートを変更しようとしましたが、何も変更されません。メッセージは同じですが、ポート番号が変更されるだけです。
私にとってこれはかなりおかしいですが、修正できません。すでにポートを変更してみましたが、IISを再インストールしてVisual StudioとPCを再起動しました。使用したいポートで何も実行されていません。
Windows 8.1 x64、Visual Studio 2012(IIS 8)を使用しています。
[〜#〜]編集[〜#〜]
IISにはログメッセージがあります。
Failed to register URL "http://localhost:53234/" for site "WcfService1" application "/". Error description: Cannot create a file when that file already exists. (0x800700b7)
Registration completed
私にとってこの問題は、IISExpressのapplicationHost.configファイルに現れたプロジェクトの設定ミスが原因でした。
Httpポートとhttpsポートの両方を同じように設定しました。
<site name="{projectname}" id="3">
<application path="/" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="{myPath}" />
</application>
<bindings>
<binding protocol="https" bindingInformation="*:57287:localhost" />
<binding protocol="http" bindingInformation="*:57287:localhost" />
</bindings>
</site>
これを解決するには、プロジェクトファイルを編集して、異なるポートを正しく使用します。
別のオプションは、applicationHost.configファイルを削除することです。VisualStudioは、IISExpressを起動したときにそれを再作成します。それはプロジェクトの設定ミスを解決しませんが、私が何度かしなければならなかった壊れた設定を解決するかもしれません。
*注意:* IISのapplicationHost.configファイルを見つけるには、この質問を参照してください IIS Express構成/メタベースファイルがどこにありますか?
私は同じ問題に直面していました、そして私がしたことは以下の通りです:
これで、エラーなしでアプリケーションを実行できるようになります。
私は最近これに遭遇し、私の解決策はここになかったので、私はそれを追加すると思いました。
私の問題は、localshバインディングに一致するurlaclがnetshに追加され、このエラーメッセージが表示されることでした。
解決策は、netsh http show urlacl
を呼び出して、iis Expressバインディングがリストされているかどうかを調べて確認することです。私のlocalhostバインディングは https:// localhost:443 用でした。だからそれを修正するために、私は電話しなければなりませんでした:
netsh http delete urlacl url=https://localhost:44300/
同じ名前(デフォルト名はApp
)の異なるプロジェクトでVisual Studio 2012の2つのインスタンスを開いているときに、この問題が発生しました。
Visual Studioの1つのインスタンスを閉じることで、これを解決できました。
私の問題の根本的な原因は、ローカルで実行しているWebサイトがあったことでしたIISこれは、Visual Studioを介して起動しようとしたポートと同じポートにバインドされていましたIISExpress。VisualStudioデバッガーが起動し、すべてが正常に見えますが、DLLは読み込まれず、メモリグラフは13 [MB]の平坦な線でした。これは、実際にはローカルIISによって提供されているバージョンです)。
したがって、ポート番号の1つを変更するだけで済みました。
私は試した netsh http show urlacl
と私のアドレスが表示されなかった、私のapplicationHost.configファイルは正しいように見え、IIS内で問題は何もありませんでした。 Visual Studioを閉じて、ソリューションフォルダーから.vsディレクトリを削除し、Visual Studioを再起動することで修正しました。