【发布时间】:2017-02-27 14:27:00
【问题描述】:
如果我打开 IIS 并展开站点 -> 默认网站,我有 3 个项目已转换为应用程序:
MyApp_Branch_01
MyApp_Branch_02
MyApp_Branch_03
所有这 3 个应用程序都使用相同的 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 集?
【问题讨论】: