2017-02-27 128 views
0

如果我打开IIS并展开站点 - >默认Web站点,我有3个项目,我已经转换为应用程序:具有相同项目URL的IIS和多个项目?

MyApp_Branch_01

MyApp_Branch_02

MyApp_Branch_03

的全部3这些应用程序使用相同的AppPool。它们的物理路径对应于物理驱动器上的3个独特目录; C:\inetpub\wwwroot\MyApp_Branch_01...02...03

正如您大概猜测的那样,每个目录在SVN中都包含我们应用程序的单独分支。 01是用于构建,02是bug修复&在制品,03是用于更多“实验性”长期项目。每个分支使用不同的数据库连接。但是,如果我右键单击生成项目并转到属性,在Web选项卡下,所有3个项目的Project URL设置的值都相同:它们全部指向http://localhost/MyApp

我刚刚建立了MyApp_Branch_03项目并运行它。一位同事过来问了一些问题,所以我不得不打开MyApp_Branch_01.sln。我没有建立它,我没有运行它;我刚刚在Visual Studio中打开它。同时,我在我的浏览器中调试/运行了MyApp_Branch_03

帮助我的同事后,我回到了我在做什么......但现在每当我在控制器中设置断点,它会从MyApp_Branch_01而不是03文件中,我设置的断点打开文件。

我不明白为什么会发生这种情况?当有多个使用相同url的解决方案文件时,IIS如何确定要提供哪一组DLL?

回答

2

这不是IIS确定要提供哪一组DLL。当您打开解决方案时,如果csproj文件中的IISUrl元素与本地IIS中的任何网站匹配,Visual Studio会自动更改WebSites的物理路径。

+1

所以基本上VS只是告诉IIS使用[VS认为是什么]正确的文件? – sab669

+1

@ sab669这是正确的。 – sotn

相关问题