问题:

ADFS2要求RP Trust使用https。 RP信任为https://localhost:44310/PAWS/。话虽如此,我需要让IIS Express在本地使用SSL。因此,当我将ASP.NET MVC4项目配置为使用IIS Express时。

当我将其 checkin TFS(源代码控制)时,团队中的另一位开发人员将获得最新信息。该项目将不会为他们加载。

打开解决方案时,Visual Studio 2012将显示以下错误消息:

这是因为IIS Express不会自动读取项目文件并将HTTPS绑定(bind)添加到站点配置。
这是VS添加到IIS Express的applicationhost.config文件中的配置

<site name="PAWS.Web-Site" id="2">
    <application path="/" applicationPool="Clr4IntegratedAppPool">
        <virtualDirectory path="/" physicalPath="C:\Users\larsene\Documents\My Web Sites\PAWS.Web-Site14" />
    </application>
    <bindings>
        <binding protocol="http" bindingInformation="*:44310:localhost" />
    </bindings>
</site>

但我需要将绑定(bind)协议(protocol)设置为HTTPS,如下所示:
<binding protocol="https" bindingInformation="*:44310:localhost" />

我可以手动将其输入到applicationhost.config中。或者,我可以像这样运行appcmd.exe进行配置。
"%ProgramFiles(x86)%\IIS Express\appcmd.exe" set site /site.name:PAWS.Web-Site /bindings:https/*:44310:localhost

但是这两种方法都不是我想要的。我不需要向每个从事此项目的开发人员解释,他们甚至必须在加载项目之前必须手动编辑其IIS Express设置。

如何重现问题:

可以通过先关闭VS2012轻松地重新创建它。然后删除位于以下位置的IIS Express的配置文件夹
%USERPROFILE%\Documents\IISExpress

然后打开VS2012,还打开配置为使用IIS Express和https的MVC4项目的解决方案。现在,VS2012将无法加载项目,并抱怨没有安全绑定(bind)。

我在做错什么或如何解决此问题,以便最新了解我的项目的人可以运行它?

最佳答案

我可以确认Visual Studio 2013不受此问题困扰。

从VS2012升级到2013为我解决了这个问题。

10-06 14:19
查看更多