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

Https 在VS2012和团队中使用IIS Express SSL时遇到问题 问题是:,https,visual-studio-2012,iis-express,Https,Visual Studio 2012,Iis Express,ADFS2要求RP信任使用https。RP信任被https://localhost:44310/PAWS/。话虽如此,我需要让IIS Express在本地使用SSL。因此,当我将ASP.NET MVC4项目配置为使用IIS Express时。 当我将此签入TFS(源代码管理)时,团队中的另一个开发人员将获得最新信息。项目将不会为它们加载 打开解决方案时,Visual Studio 2012将显示以下错误消息: 这是因为IIS Express不会自动读取项目文件并将HTTPS绑定添加到站点配

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>
但这两种方法都不是我想要的。我不想向每个在这个项目上工作的开发人员解释,在他们加载这个项目之前,必须手动编辑他们的IIS Express设置

如何重新创建问题: 通过首先关闭VS2012,可以很容易地重新创建。然后删除位于中的IIS Express的配置文件夹

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

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

您需要在项目的属性列表中添加,以便自动显示绑定。(根据斯科特·汉塞尔曼)


您是否尝试以管理员身份打开项目(以管理员身份运行VS2012)

通常,当您出现上述错误(为ASP.NET 4.5配置web xxx失败…)和(创建虚拟目录xxx失败)时,是因为visual studio没有足够的权限


可能不是您的问题,但尝试一下也无妨。

您是否尝试在.csproj文件中手动配置端口?在此处配置后,应将其转移到其他工作站:

<IISExpressSSLPort>44310</IISExpressSSLPort>
44310

此外,即使选中“将服务器设置应用于所有用户”选项,项目的用户文件仍可能导致问题。在使用IIS Express修复SSL问题时,我通常只删除用户文件,因为在修复问题后重新配置用户设置要容易得多。

我最近遇到了同样的问题,并且我能够确定发生这种情况的原因

Visual Studio正在使用项目Url设置来设置IIS Express http绑定,然后查看IISExpressSSLPort设置来设置https绑定

但是,如果您将项目Url更改为https地址,则VisualStudio会感到困惑。出于IIS Express绑定更新的目的,它假定您已为项目Url输入了http地址,并且似乎无法处理存在的https地址

这使事情变得复杂,因为将项目Url更改为https地址是我发现的使VisualStudio在默认情况下开始调试https Url的唯一方法


因此,这似乎是VisualStudio如何处理IIS Express绑定更新的一个问题。我不知道有什么好的解决方法可以同时允许自动绑定更新和使用加载的https地址开始调试。

这看起来可能是VS2012中的一个bug。。。 我能够处理这个问题的唯一方法是手动编辑IISExpress配置文件:applicationhost.config,位于C:\Users\YOUR\u USER\u NAME\Documents\IISExpress\config下。然后在“站点”下,我修改了特定应用程序网站的块:

    <site name="YourSite" id="1">
    <application path="/" applicationPool="Clr4IntegratedAppPool">
                <virtualDirectory path="/" physicalPath="c:\..." />
            </application>
            <bindings>
                <binding protocol="https" bindingInformation="*:YOUR_PORT_#:localhost" />
            </bindings>
    </site>

将“绑定协议”更改为“https”,并确保至少在IIS Express中创建/修改站点之前,以管理员权限启动Visual Studio 2012


希望这有帮助…

我最近遇到了一个非常类似的问题,在试图解决这个问题时遇到了这篇文章。 我注意到的一件事是,如果在applicationhost.config文件中设置了多个使用HTTPS绑定的站点,IIS Express似乎会非常苦恼

在我的例子中,我有两个站点设置为使用与端口44300相同的SSL绑定,在其中一个站点上更改其中一个SSL绑定上的端口号会导致与OP中类似的错误。最后我不得不删除其中一个站点,这是不理想的

在进一步挖掘之后,我尝试将'requiressl'属性从
true
切换到
false
,然后返回到
true
。这触发了applicationhost.config的更新,该更新创建了具有新端口号的新SSL绑定


我之所以陷入这种混乱,是因为我复制了一个现有的项目,而我的配置试图在两个站点之间共享端口。

首先,感谢您提供在本地计算机上复制的步骤。其他团队成员也有这个问题,但由于我创建了这个项目,所以我没有经历过。这让我有机会尝试一些不同的解决方案

我发现在当前环境中(MS没有修复)最有效的方法是将项目url保留为http值,但将起始url更改为https值。大多数开发人员应该乐于在VS中改变这一点


这可以在新机器上运行,而无需运行bat文件来配置https站点。您在IIS Express中有两个绑定(http和https),但除此之外,它似乎工作得足够好。

我可以确认Visual Studio 2013没有此问题

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

我看到两个选项:

  • 对所有用户启用“应用服务器”设置(存储在项目中 “Web”选项卡上的“文件”选项,以将绑定配置移动到 普罗耶
    <IISExpressSSLPort>44310</IISExpressSSLPort>
    
        <site name="YourSite" id="1">
        <application path="/" applicationPool="Clr4IntegratedAppPool">
                    <virtualDirectory path="/" physicalPath="c:\..." />
                </application>
                <bindings>
                    <binding protocol="https" bindingInformation="*:YOUR_PORT_#:localhost" />
                </bindings>
        </site>