Iis VS 2012基于错误路径启动应用程序

Iis VS 2012基于错误路径启动应用程序,iis,version-control,visual-studio-2012,iis-express,Iis,Version Control,Visual Studio 2012,Iis Express,我有一个应用程序在c:\Dev\MyApp\Main上受源代码管理(TFS 2012) 因为我正在开发一个新功能,所以我决定在c:\Dev\MyApp\BranchNewFeature上打开一个分支 我开发了,当我决定是时候进行测试时,就好像我根本没有做任何改变一样。我点击F5,我看到了应用程序的基线版本。。。查看它时,我注意到一个非常奇怪的事实:当我检查IIS Express时,应用程序的“启动路径”是旧的(c:\Dev\MyApp\Main) 有人能帮我把IIS Express指向新路径吗?

我有一个应用程序在c:\Dev\MyApp\Main上受源代码管理(TFS 2012)

因为我正在开发一个新功能,所以我决定在c:\Dev\MyApp\BranchNewFeature上打开一个分支

我开发了,当我决定是时候进行测试时,就好像我根本没有做任何改变一样。我点击F5,我看到了应用程序的基线版本。。。查看它时,我注意到一个非常奇怪的事实:当我检查IIS Express时,应用程序的“启动路径”是旧的(c:\Dev\MyApp\Main)


有人能帮我把IIS Express指向新路径吗?(C:\Dev\MyApp\BranchNewFeature)

我遇到了同样的问题。为了修复它,我使用了的建议,更新
C:\Users\%USERNAME%\Documents\IISExpress\config\applicationhost.config
,指向新目录


此解决方案的明显缺点是,如果您计划经常在新分支之间切换,则需要重复执行此操作。似乎是VS2012中的一个bug…

重新启动VS似乎可以解决此问题。这只是一个替代解决方案,就像它是所有Windows产品的标准-关闭并重新启动,然后它会工作

发生的事情如下: 在我使用VS2013在一家分支机构从事一个web项目后,我遇到了同样的问题。正如Chris Gillum上面提到的,我在重新启动VS时打开了applicationhost.config,文件以正确的路径自动刷新。所以,这显然是VisualStudio中的一个bug

更新:

自从我发布这个答案以来,我已经多次看到这个问题。我找到了一种替代重启VS的方法。我现在做的是:

  • 右键单击IISExpress图标并单击“显示所有应用程序”
  • 从列表中选择站点名称
  • 单击(并打开)配置文件
  • 在以下部分中搜索并修复工作区的物理路径:

    <sites>
        <site name="MyWebSite" id="XXX">
            <virtualDirectory path="/" physicalPath="FIX_THIS_PATH" />
        </site>
    <sites>
    
    
    

  • IISExpress将自动刷新站点,您无需重新启动。希望这对其他人有所帮助。

    我也遇到过类似的情况,我复制了一个项目。运行项目后,它会在浏览器中显示原始项目,而不是我复制、编辑的版本。我的解决方案是从配置文件中删除所有受影响的站点:

    C:\Users\%USERNAME%\Documents\IISExpress\config\applicationhost.config

    然后,我必须右键单击Visual Studio中的项目,单击
    Properties
    ,然后单击
    Web
    选项卡,在该选项卡上,我更改了
    项目Url中指定的端口并保存。然后VisualStudio询问我是否要将项目添加回应用程序主机配置文件。我点击yes并运行项目,突然一切都好了


    我的特殊问题不是Visual Studio中的错误,而是配置不匹配。

    当您打开包含IISExpress web项目的Visual Studio解决方案时,applicationHost.config
    元素配置将更新。如果随后为单独的分支打开解决方案,则可能会覆盖
    配置以指向该单独的分支

    例如,假设您有一个解决方案的两个分支,其中包含一个配置为在端口4000上使用IISExpress的web项目。打开Branch1的解决方案时,applicationHost.config将更新为一个
    元素,该元素在localhost:4000注册站点,指向Branch1的文件夹。当您“开始调试”解决方案时,浏览器会打开localhost:4000,一切正常

    如果随后打开Branch2的解决方案,applicationHost.config将再次修改,覆盖
    元素,以便localhost:4000现在指向Branch2。现在,如果您在open Branch1解决方案或open Branch2解决方案中“开始调试”,localhost:4000将指向Branch2,因为这是applicationHost.config文件中的内容


    要解决此问题,请将两个分支配置为使用不同的端口,然后Visual Studio将管理两个单独的applicationHost.config
    元素,每个分支一个。每次创建新分支时,您都需要记住配置一个新端口号。

    当我找到本文时,我遇到了类似的情况,正在寻找答案。我曾考虑过应用这个修复程序,但觉得每次需要再次分支或合并时都需要付出很大的努力

    我做了更多的挖掘,我相信我找到了一个更容易的解决办法。我发现,在Visual Studio 2013中,如果打开项目的属性并单击Web选项,您将看到一个服务器部分,其中有一个按钮“创建虚拟目录”


    如果你点击这个按钮,它会提示你一个关于它的问题,指向一个不同的目录,然后该项目是在,想修复它。当您单击“是”时,它将为您进行修复,当您现在调试时,它将从正确的位置拉出。

    如果您在Visual Studio 2015中搜索相同的问题,applicationhost.config文件已移动到隐藏文件夹:$SolutionDirectory/.vs/config。

    在vs 2015中,我不必直接编辑配置文件。我打开了分支项目,并转到项目下的属性页面。转到Web选项卡并编辑服务器>项目URL。

    是否尝试关闭IIS express并重新启动?@cheesemacfly yes!我甚至重新启动了整个机器……您在
    C:\Users\your\u name\Documents\IISExpress\config\applicationhost.config
    中更改了什么吗?@cheesemacfly没有!我正在查看那个文件,我所有的网络应用都在那里!它指向了错误的文件!那么我想如果你把正确的路径放在这里,它应该会工作!在VS 2013中复制。这不是一个答案,而是一个解决方法。。。VS应该按预期启动它…我通过右键单击Visual Stu中的一个项目解决了这个问题