在VS2012和团队中使用IIS Express SSL时遇到问题

Eva*_*sen 20 https iis-express visual-studio-2012

问题:

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

当我检查到TFS(源代码管理)并且团队中的另一个开发人员获得最新信息时.该项目不会为他们加载.

MVC4项目不会加载

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

这是因为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>
Run Code Online (Sandbox Code Playgroud)

但我需要它将绑定协议设置为HTTPS,如下所示:

<binding protocol="https" bindingInformation="*:44310:localhost" />
Run Code Online (Sandbox Code Playgroud)

我可以手动将其输入applicationhost.config.或者我可以像这样运行appcmd.exe来配置它.

"%ProgramFiles(x86)%\IIS Express\appcmd.exe" set site /site.name:PAWS.Web-Site /bindings:https/*:44310:localhost
Run Code Online (Sandbox Code Playgroud)

但是这两种方法中的任何一种都不是我想要的.我不想向每个在这个项目上工作的开发人员解释他们在加载项目之前必须手动编辑他们的IIS Express设置.

如何重现问题:

通过首先关闭VS2012,可以轻松地重新创建.然后删除位于的IIS Express的配置文件夹

%USERPROFILE%\Documents\IISExpress
Run Code Online (Sandbox Code Playgroud)

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

我做错了什么或者如何解决这个问题,以便能够获得最新项目的人能够运行它?

小智 10

我最近遇到了同样的问题,我已经能够确定它为什么会发生.

Visual Studio使用Project Url设置来设置IIS Express http绑定,然后查看IISExpressSSLPort设置以设置https绑定.

但是,如果您已将Project Url更改为https地址,那么Visual Studio就会混淆.出于IIS Express绑定更新的目的,它假定您已输入Project Url的http地址,并且似乎无法处理存在的https地址.

这使事情变得复杂,因为将Project Url更改为https地址是我发现默认情况下使Visual Studio开始调试https url的唯一方法.

因此,这似乎是Visual Studio如何处理IIS Express绑定更新的问题.我不知道一个好的解决方法,它允许自动绑定更新,并开始调试加载的https地址.


zur*_*aff 3

我可以确认 Visual Studio 2013 不存在此问题。

从 VS2012 升级到 2013 解决了我的问题。