IIS和具有相同项目URL的多个项目?

时间:2017-02-27 14:27:00

标签: .net iis iis-7.5

如果我打开IIS并展开网站 - >默认网站,我有3个项目,我已转换为应用程序:

MyApp_Branch_01

MyApp_Branch_02

MyApp_Branch_03

这三个应用程序都使用相同的AppPool。它们的物理路径对应于我的物理驱动器上的3个唯一目录; C:\inetpub\wwwroot\MyApp_Branch_01...02...03

正如您可能猜到的,每个目录在SVN中都包含我们应用程序的单独分支。 01用于构建,02是错误修复&正在进行的工作,03用于更多"实验"长期项目。每个分支使用不同的数据库连接。但是,对于所有这3个,如果我右键单击构建项目并转到“属性”,则在“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?

1 个答案:

答案 0 :(得分:2)

它不是关于IIS确定要服务的DLL集合。当您打开解决方案时,如果IISUrl文件中的csproj元素与本地IIS中的任何WebSite匹配,则Visual Studio会自动更改网站的物理路径。