如何讓 Visual Studio 2012 檢測是否需要重新映射虛擬目錄?
我的情況:
我正在開發一個 ASP.NET MVC 項目並在 IIS-Express 中進行調試。有時當我們創建一個臨時分支時,這個分支會使用同一個埠進行調試。這意味著 IIS 中的虛擬目錄是相同的,我不能同時執行它們。
它在 vs2010 中是如何工作的:
這不是一個真正的問題,因為我不想同時執行它們。但是,在 VS2010 中,我第一次打開分支時會收到警告。它問我是否要重新映射 URL。當我後來返回打開備份箱時,我會收到相同的警告(請參閱https://stackoverflow.com/a/3093534/210336)。
它如何在 vs2012 中不起作用:
現在在 VS2012 中,我不再收到警告。如果我忘記手動進入設置並按“創建虛擬目錄”(這已經發生了幾次),那麼當我在分支中點擊執行時,它實際上會執行主幹。這可能非常令人困惑。特別是如果我嘗試調試或系統因異常而中斷。來自主幹的源文件將在分支解決方案中打開。然後我認為我正在編輯分支,但實際上我正在編輯主幹……
無論如何讓VS2012執行與VS2010相同的檢查?
還是我在做/理解其他完全錯誤的事情?
VS 實際上會編輯在這些路徑之一中找到的 IIS Express 配置文件
%userprofile%\documents\iisexpress\config\applicationhost.config %userprofile%\my documents\iisexpress\config\applicationhost.config當把它留給 VS 時,我傾向於看到重複和衝突的配置。
對於本地開發,我更喜歡從 cmd 或 powershell 腳本啟動 IIS Express,因為它不需要附加(但可以附加)並且讓我可以控製配置。我製作了 iis 配置的副本並在 iis express 命令中指定了配置文件。我有一個 powershell 腳本,它根據執行目錄設置路徑,所以無論哪個分支,它總是設置為我正在工作的那個。
以下是有關從命令行執行 iis express 的一些資訊:
http://www.iis.net/learn/extensions/using-iis-express/running-iis-express-from-the-command-line
這是從 powershell 執行 iis express 的一個很好的資源:
https://blog.differentpla.net/post/UaYcAPDfiVJBAAAC/running-iis-express

