问题:
ADFS2 要求 RP Trust 使用 https。RP Trust 是 https://localhost:44310/PAWS/
。因此,我需要在本地使用 SSL,让 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将无法加载该项目,并抱怨没有安全绑定。
我做错了什么或者如何修复这个问题,以便于获取我项目的最新版本后能够直接运行它?