2017-02-27 104 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

相關問題