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

时间:2013-04-04 17:58:48

标签: iis version-control visual-studio-2012 iis-express

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

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

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

任何人都可以帮助我让IIS Express指向新路径吗? (C:\开发\ MyApp的\ BranchNewFeature)

7 个答案:

答案 0 :(得分:24)

我遇到了同样的问题。为了解决这个问题,我使用了cheesemacfly的建议来更新C:\Users\%USERNAME%\Documents\IISExpress\config\applicationhost.config以指向新目录。

此解决方案的明显缺点是,如果您计划经常在新分支之间切换,则需要重复执行此操作。看起来像VS2012中的一个错误...

答案 1 :(得分:17)

重启VS似乎解决了这个问题。这只是一个替代解决方案,正如它所有Windows产品的标准 - 关闭并重新启动,并且繁荣它将起作用!

以下是发生的事情: 在使用VS2013在分支机构中处理Web项目后,我遇到了同样的问题。正如上面提到的Chris Gillum,我在重新启动VS时打开了applicationhost.config,并且文件已使用正确的路径自动刷新。所以,这肯定是Visual Studio中的一个错误。

<强>更新

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

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

    <sites>
        <site name="MyWebSite" id="XXX">
            <virtualDirectory path="/" physicalPath="FIX_THIS_PATH" />
        </site>
    <sites>
    
  5. IISExpress将自动刷新站点,您无需重启VS.希望这有助于某人。

答案 2 :(得分:2)

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

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

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

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

答案 3 :(得分:2)

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

答案 4 :(得分:1)

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

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

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

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

答案 5 :(得分:1)

当我找到这篇文章时,我遇到了类似的情况,正在寻找答案。我想过应用这个固定的,但是每次你需要分支或合并时都觉得很费劲。

我做了一点挖掘,我相信我找到了一个更容易修复。我发现在Visual Studio 2013中,如果打开项目的属性,然后单击Web选项,您将看到一个带有按钮的服务器部分&#39;创建虚拟目录&#39;在里面。

如果单击此按钮,它将提示您一个关于它的问题,指向项目所在的其他目录,想要修复它。单击“是”时,它会为您进行修复,当您现在进行调试时,它将从正确的位置拉出来。

答案 6 :(得分:0)

在VS 2015中,我没有必要直接编辑配置文件。我打开了分支项目,然后转到Project下的Properties页面。转到Web选项卡并编辑Servers&gt;项目网址。