1. 程式人生 > >VS2015“檢測到在整合的託管管道模式下不適用的 ASP.NET 設定”的最終解決辦法

VS2015“檢測到在整合的託管管道模式下不適用的 ASP.NET 設定”的最終解決辦法



剛把裝備升級成Win10和VS2015開啟以前的專案一執行發現問題來了,出錯,

“檢測到在整合的託管管道模式下不適用的 ASP.NET 設定。”
可嘗試的操作:
1,將配置遷移到 system.webServer/modules 節。也可以手動這樣做,或通過在命令列中使用 AppCmd 來這樣做。例如,從 IIS Express 安裝目錄執行 appcmd migrate config "Default Web Site/"。使用 AppCmd 遷移應用程式將使它能夠在整合模式下工作,並能繼續在經典模式下和以前版本的 IIS 上工作。
2,如果您確信可以忽略此錯誤,則可以通過將 system.webServer/[email protected]

設定為 false 來禁用它。
3,也可以將應用程式切換到經典模式應用程式池。例如,從 IIS Express 安裝目錄執行 appcmd set app "Default Web Site/" /applicationPool:"Clr4ClassicAppPool"。只有在無法遷移應用程式時才這樣做。

看的雲裡霧裡,不知道如何下手,不過可以肯定很明顯只要開啟經典模式就可以了,可以是哪兒改呢?

有問題問找度娘,百度了一下,有好多在VS2013裡也遇到了此類問題,解決方法是到C:\Users\Administrator\Documents\IISExpress\config\applicationhost.config更改IISExpress裡面的config 配置

 <sites>
            <site name="WebSite1" id="1" serverAutoStart="true">
                <application path="/">
                    <virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%\WebSite1" />
                </application>
                <bindings>
                    <binding protocol="http" bindingInformation=":8080:localhost" />
                </bindings>
            </site>
            <siteDefaults>
                <logFile logFormat="W3C" directory="%IIS_USER_HOME%\Logs" />
                <traceFailedRequestsLogging directory="%IIS_USER_HOME%\TraceLogFiles" enabled="true" maxLogFileSizeKB="1024" />
            </siteDefaults>
          
    <applicationDefaults applicationPool="Clr4IntegratedAppPool" />  <-------將這個地方改為Clr4ClassicAppPool,試過之後發現不行


     <virtualDirectoryDefaults allowSubDirConfig="true" />

        </sites>

然後無意間右擊了右下角的IISExpress-》顯示所有應用程式-》點選執行的網站例項-》最下角的“配置”,發現在關鍵字檔案路徑XXXXX\.vs\config\applicationhost.config,
會不會是這個檔案的配置問題呢,按照百度到的辦法修改配置檔案中的“<applicationDefaults applicationPool="Clr4IntegratedAppPool" />  <-------將這個地方改為Clr4ClassicAppPool”發現還是不行。據說這個地方修改以後是可以讓所有網站例項都按照經典模式執行的。

最後仔細觀察這個檔案內容,發現我的程式例項名的的配置還有個整合模式的設定,接著改了之後,發現居然成功了!呵呵
<site name="應用工程名" id="2">
                <application path="/" applicationPool="Clr4IntegratedAppPool">《-----這個地方還有個配置呢
                    <virtualDirectory path="/" physicalPath="工程路徑" />
                </application>
                <bindings>
                    <binding protocol="http" bindingInformation="*:5484:localhost" />
                </bindings>
            </site>


最後總結一下,VS2015生成的工程根目錄下會有一個隱藏的.vs資料夾,這裡面的config資料夾裡面放著applicationhost.config檔案,修改這個檔案中的對應例項的應用配置為經典模式就可以了。
謝謝在VS2013中解決這個問題的前輩們