VS 2012 launching app based on wrong path

2019-02-01 20:54发布

I have a app which is under source control (TFS 2012 also) on c:\Dev\MyApp\Main.

Because im developing a new feature I decided to open a branch on c:\Dev\MyApp\BranchNewFeature.

I developed and when I decided that it was time to test it was like i hadn't done any changes at all. I hit F5 and i see the baseline version of the app... Looking into it I noticed a very curious fact: When i check IIS Express the "launch path" for the applications is the old one (c:\Dev\MyApp\Main).

Can anyone help me make IIS Express point to the new path? (C:\Dev\MyApp\BranchNewFeature)

7条回答
来,给爷笑一个
2楼-- · 2019-02-01 21:32

I had a similar situation, and was looking for an answer, when I found this article. I thought about applying this fixed, but felt it was a lot of effort every time you need to branch or merge again.

I did a little more digging, and I believe I found an easier fix. I found that in Visual Studio 2013 if you open the Properties of the project, and click on the Web option, you will see a Servers section with a button 'Create Virtual Directory' in it.

If you click this button it will prompt you with a question about it pointing to a different directory then the project is in, would like to fix it. When you click yes it makes the fix for you, and when you debug now it will pull from the correct location.

查看更多
啃猪蹄的小仙女
3楼-- · 2019-02-01 21:34

I ran into the same issue. To fix it, I used cheesemacfly's suggestion, to update C:\Users\%USERNAME%\Documents\IISExpress\config\applicationhost.config to point to the new directory.

The obvious downside with this solution is that you need to do this repeatedly if you plan on switching between your new branches often. Seems like a bug in VS2012...

查看更多
狗以群分
4楼-- · 2019-02-01 21:39

Restarting VS seems to fix this problem. This is just an alternative solution, just as its a norm with all Windows products - close and restart, and boom it'll work!

Here's what happened: I faced the same problem after I worked on a web project in a branch using VS2013. As Chris Gillum mentioned above, I had the applicationhost.config open while I restarted VS, and the file got auto-refreshed with the correct path. So, this definitely seems to be a bug in Visual Studio.

UPDATE:

I've seen this issue numerous times since I posted this answer. And I've found an alternative to restarting VS. Here's what I do now:

  1. Right click IISExpress Icon and click on "Show all Applications"
  2. Select the Site Name from the list
  3. Click (and open) the Config file
  4. Search for and fix the physical path to your workspace under the following section:

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

IISExpress will automatically refresh the site, and you do not need to restart VS. Hope this helps someone.

查看更多
别忘想泡老子
5楼-- · 2019-02-01 21:39

In case you get here searching for the same issue in Visual Studio 2015, the applicationhost.config file has moved to a hidden folder: $SolutionDirectory/.vs/config.

查看更多
Bombasti
6楼-- · 2019-02-01 21:47

In VS 2015, I didn't have to edit the config file directly. I opened the branched project and went to Properties page under the Project. Go to the Web tab and edit Servers > Project URL.

查看更多
相关推荐>>
7楼-- · 2019-02-01 21:50

I had a similar situation where I had copied a project. After running the project it displayed the original project in the browser rather than my copied, edited version. My solution was to remove all the effected sites from the config file:

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

I then had to right click the project in Visual Studio, click Properties then click the Web tab, on this tab I changed the port specified in the Project Url and saved. Visual Studio then asked if I wanted to add the project back to the application host configuration file. I clicked yes and run the project, suddenly all was fine.

My particular problem was not a bug in Visual Studio but rather a configuration mismatch.

查看更多
登录 后发表回答