2011-06-17 131 views
3

我有一個父應用程序託管在我的網站的根文件夾中。這是一個.NET 4.0應用程序,應用程序池顯然設置爲4.0。如何正確配置此IIS 7.5子應用程序?

我想在配置子應用程序:

/博客

這是一個.NET 2.0的應用程序(這是BlogEngine.NET)。我創建了一個名爲「blog」的新虛擬目錄,將其指向適當的目錄,將其轉換爲一個應用程序並將其放入設置爲.NET Framework 2.0的自己的應用程序池中。

我編輯的父的web.config並補充說:

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <location path="." inheritInChildApplications="false"> 
     <configSections> 
     <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /> 
    </configSections> 
    ....entire web.config basically... 
    </location> 
</configuration> 

右邊的元素之後。然而,當我去http://localhost/blog,我得到以下錯誤:

配置節「configSections」不能讀,因爲它缺少一個部分聲明

任何人有什麼是怎麼回事任何想法或者是什麼我可能會失蹤?

回答

2

不幸的是,這是IIS處理虛擬目錄的方式。即使它不在子應用程序中,您的父應用程序的web.config仍會被讀取。我試圖嵌入一個4.0應用程序作爲一個3.5應用程序的孩子,在幾天的挫折之前和之後,SO問題和論壇帖子,我終於得出結論,它比它的價值更麻煩。

+0

我得出同樣的結論。 – Scott 2011-06-22 20:46:56

0

爲什麼不直接將BlogEngine升級到Asp.net 4.0?

下載BE 2.0 Web版本在Visual Studio中打開它會詢問「你喜歡4.0嗎?」說是,然後它爲您的目標web.config。

然後,您可以將新的web.config上傳到您的服務器。

如果您有舊的BE版本,那麼您可能需要將其升級到上一個穩定版本。