我在使用Windows 8 Professional的Visual Studio Ultimate 2013上運行的ASP.NET MVC 5應用程序和使用MongoDB 2.6作爲數據庫時遇到了一些奇怪的行爲。複製的VS解決方案之間的衝突
最初有一個解決方案;我們稱之爲阿爾法。然後,我複製瞭解決方案(直接複製並粘貼到Windows資源管理器中),以創建一個新的解決方案;讓我們稱之爲Bravo。我更改了解決方案和項目名稱以及所有相關文件名,然後對Bravo的內容進行了大量編輯,以便在應用程序在瀏覽器中運行時,它與Alpha顯得非常不同。
奇怪的行爲如下。如果我在Visual Studio中使用Bravo,並在瀏覽器中運行它,那麼所有內容都與Bravo預期的一樣。但是,如果我在Visual Studio中加載Alpha,然後運行Bravo,那麼顯示的網站實際上是由Alpha中的代碼表示的,而不是Bravo中的代碼。如果我關閉運行Bravo的Visual Studio實例,重新啓動它,然後運行Bravo應用程序,則顯示的網站將回到Bravo的預期版本。
因此,似乎Bravo中還有一些引用Alpha的東西。如果我加載Alpha,那麼某些內容會加載到內存中,這會覆蓋Bravo在應用程序啓動期間提供的數據。只有當我重新啓動Visual Studio並使用Bravo刷新此內存時,纔會使用Bravo的更新版本運行,而不是使用原始版本的Alpha。同樣,如果我在Visual Studio中加載Alpha,然後在Visual Studio的另一個實例中加載Bravo解決方案,然後運行Alpha - 它會顯示我期望從Bravo出現的內容。
什麼是造成這種行爲的任何想法,或者我如何進一步調查?
謝謝:)
如果您使用IIS,我會檢查IIS路徑,並確保它們不重疊並指向相應的項目文件夾。 –
我現在只是直接使用開發服務器,直接使用Visual Studio。 – Karnivaurus
我唯一能想到的就是你的兩個解決方案都位於同一個物理文件夾中,並且都是從同一個地方引用文件。因此,兩個解決方案都使用相同的bin文件夾。所以當你建立一個,它覆蓋箱中的所有東西。確保你的解決方案在完全獨立的文件夾中。 –