2012-10-24 64 views
2

我有一個問題。我們正在升級到VS 2012工作。當我們打開VS 2010項目時,Visual Studio會轉換項目。這很好,因爲VS 2010仍然可以使用該項目(yay microsoft)。但是,在解決方案目錄中創建了一個\ Backup文件夾。這是否被創建爲遷移的一部分?有沒有辦法控制它?2012年打開Visual Studio 2010項目什麼創建備份文件夾以及如何控制它?

我問的原因是讓這個文件夾將web.config文件複製到文件夾中的過程。如果您嘗試構建解決方案(這些是MVC項目),則會出現「It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level. This error can be caused by a virtual directory not being configured as an application in IIS.」錯誤。原因是在子文件夾中有一個web.config文件,而不是根文件夾。我們沒有做,也不想做這個改變,也不知道如何去控制它。刪除Backup \ Web.config文件可修復該錯誤。將其從web.config重命名爲web.config.bak可以解決問題。

我真的不想親自打開和轉換每一個項目,也不希望隨機的人碰到這個問題。任何想法如何停止VS創建備份文件夾,或如何使它在我的文檔工作室文件夾等創建它們?我無法找到任何設置來控制這一點,並找不到任何好的信息。

+0

http://msdn.microsoft.com/en-us/library/bb166539.aspx - 說,一個嚮導爲您的選擇,但我認爲這種情況只有在自動升級是不可能 –

回答

0

沒有辦法控制它,我發現。我們必須繼續前進,並將每個項目轉換爲2012年,並刪除備份文件夾以防止其他團隊進入該文件夾。

1

偶然,你是否使用MvcBuildViews屬性在編譯時預編譯視圖?如果是這樣,這就是爲什麼你遇到這種情況(因爲它在同一個目錄中進行預編譯,它不會過濾出項目目錄下的任何文件)。

請注意,如果您對此項目使用「發佈」功能,也會遇到此問題。在應用web.config變換之前和之後,Publish會在您的中間構建輸出目錄(默認情況下爲obj /)下複製web.config。

好消息是,在VS2012或安裝了最新Azure SDK的VS2010中,Web應用程序項目(包括MVC)現在支持預編譯。這些設置目前位於「打包/發佈Web」選項卡下的項目屬性中。

(這並不直接解決您在備份文件夾的問題,但它是一個評論太長。)

+0

真正的 - 是的。所以這就是問題的來源。 –

相關問題