2013-11-20 63 views
0

我已經繼承了一個項目,該項目正在從一些較早的ASP.NET技術(混合了ASP,.NET 2 WebForms等)遷移到MVC。 NET 4.很多站點已經移植完畢,這非常棒。在這一點上,MVC網站將採取充分的前臺和中心,舊網站頁面可從網站內的鏈接獲得。正確安裝IIS上的WebSite/WebApplication部署

我試圖設置的方式是讓新的MVC代碼成爲網站(例如,默認Web應用程序),並將各個較舊的項目作爲該網站下的Web應用程序。

第一部分已部署和工作 - MVC網站效果很好。但是,我在較老的頁面上遇到了一些困難。例如,我使用路徑GenerateReports並指向相應的目錄(C:/ OldProjects/GenerateReports /),在站點下方設置了一個Web應用程序。當我瀏覽到該網站(http://www.example.com/GenerateReports/BrowseReports.aspx)的那部分,我收到一個錯誤,指出:

Configuration Error Description: An error occurred during the processing of a configuration file required to service the request. Please review the specific error details below and modify your configuration file appropriately.

[-snip-]

< compilation debug="true" targetFramework="4.0"> ...

奇怪的是 - 該行是在我的MVC的Web.config(這是使用.NET 4.0中內置) - 不在舊的web應用程序的web.config(這是.NET 2.0)。那就是如果我將舊的Web應用程序的AppPool設置爲.NET 2.0。

如果我設置程序池到.NET 4.0(對於上了年紀的Web應用程序),然後我收到此錯誤:

The value for the 'compilerVersion' attribute in the provider options must be 'v4.0' or later if you are compiling for version 4.0 or later of the .NET Framework. [-snip-]

的第一個問題,似乎「更接近正確的」,但我無法找到Google上的任何內容都能真正描述問題所在,更重要的是,如何解決問題。我將不勝感激任何幫助。

+0

是否將子網站設置爲IIS中的應用程序? –

+0

是的。它們是主站點下的Web應用程序。 – JasCav

回答

0

好的。我想我明白了這一點......

我設置服務器,以便該網站是MVC網站。該MVC網站中的所有內容都正常工作/開始,因此取得了成功。

然後,我開始在網站下添加Web應用程序,每個應用程序都是ASP,WebForms應用程序之一。我必須做一些配置 - 具體來說,我必須使用Scott Hanselman's blog on mixing child applications上的信息 - 以防止設置「陷入」web應用程序。

最後,對於傳統的ASP頁面(其中有幾個左),我只好(再次,該網站下方)提供虛擬文件夾的位置,我有我的服務器上啓用ASP(已經啓用了其他所有功能的ASP.NET)。我還必須在頂層站點的ASP設置中啓用父路徑才能使ASP頁正常工作。當然,我將努力將其餘的ASP頁面轉換爲MVC ASAP,然後我可以完全移除對它的支持。

希望這可以幫助別人!