我刚刚安装了 Visual Studio 2012,想创建我的第一个 WCF 服务应用程序。我是一名来到 .NET 世界的 Java 开发人员,所以请理解:)
我创建了一个新的 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 文件,Visual Studio 将在启动 IISExpress 时重新创建它。它不会解决项目配置错误,但它可能会解决我不得不做几次的错误配置。
*注意:* 要查找 IIS 的 applicationHost.config 文件,请参阅此问题 Where is the IIS Express configuration / metabase file found?
关于c# - 无法启动 IIS Express,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21988742/