我在c:\ Dev \ MyApp \ Main上有一个受源代码管理的应用程序(TFS 2012)。
因为即时开发新功能,我决定在c:\ Dev \ MyApp \ BranchNewFeature上打开一个分支。
我开发了,当我决定是时候测试它就像我没有做任何改变一样。我点击了F5,我看到了该应用程序的基线版本...看着它我注意到一个非常奇怪的事实:当我检查IIS Express时,应用程序的“启动路径”是旧的(c:\ Dev \ MyApp \主)。
任何人都可以帮助我让IIS Express指向新路径吗? (C:\开发\ MyApp的\ BranchNewFeature)
答案 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的替代方案。这就是我现在所做的:
在以下部分中搜索并修复工作区的物理路径:
<sites>
<site name="MyWebSite" id="XXX">
<virtualDirectory path="/" physicalPath="FIX_THIS_PATH" />
</site>
<sites>
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;项目网址。