问题:
ADFS2要求 RP 信任使用 https。RP 信任存在https://localhost:44310/PAWS/
。话虽如此,我需要让 IIS Express 在本地使用 SSL。因此,当我将ASP.NET MVC4项目配置为使用 IIS Express 时。
当我将其签入 TFS(源代码控制)时,团队中的另一位开发人员得到了最新消息。该项目不会为他们加载。
Visual Studio 2012 在打开解决方案时会显示以下错误消息:
这是因为 IIS Express 不会自动读取项目文件并将 HTTPS 绑定添加到站点配置。这是 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>
但我需要将绑定协议设置为 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 并打开配置为使用带有 https 的 IIS Express 的 MVC4 项目的解决方案。现在,VS2012 将无法加载项目并抱怨没有安全绑定。
我做错了什么或者我该如何解决这个问题,以便最新了解我项目的人能够运行它?