首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

ASP.NET MVC 在 .NET 2.0 環境部署:組件複製本機與 Web.config 修改完整指南

     編輯:關於ASP.NET

前言

若目標主機僅支援 .NET Framework 2.0(如早期虛擬主機),需將 ASP.NET MVC 專案(預設 .NET 3.5)調整為相容模式部署。核心在於:所有 3.5/3.0 組件設為「複製到本機」,並修改 Web.config 移除 3.5 專屬設定。

設定步驟

1. 專案參考屬性調整

  • 方案總管 → References → 選取所有 版本 3.5 或 3.0 的組件(如 System.Web.Mvc, System.Web.Routing, System.Web.Abstractions, System.Core 等)。
  • 屬性視窗 → Copy Local = True。

2. Web.config 關鍵修改

完整範例見下方,重點說明:

  • 移除 <assemblies> 區段中所有 3.5 組件註冊(或註解化)。
  • <pages> <namespaces> 移除 3.5 命名空間匯入。
  • <httpModules> 保留 UrlRoutingModule 註冊(版本仍指 3.5)。
  • <system.webServer> <modules> <handlers> 設定 IIS7 整合/經典模式對應,將 *.mvc 對應至 aspnet_isapi.dll(v2.0 版本)。
  • 註解化 <system.codedom> 編譯器設定(2.0 環境不支援 v3.5 編譯器)。

3. 關鍵 Web.config 片段

<httpModules>
  <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
</httpModules>

<system.webServer>
  <modules runAllManagedModulesForAllRequests="true">
    <remove name="UrlRoutingModule" />
    <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
  </modules>
  <handlers>
    <add name="MvcScriptMap" preCondition="classicMode,bitness32" verb="*" path="*.mvc" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" />
    <add name="MvcScriptMap64" preCondition="classicMode,bitness64" verb="*" path="*.mvc" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" />
    <add name="UrlRoutingHandler" preCondition="integratedMode" verb="*" path="UrlRouting.axd" type="System.Web.Routing.UrlRoutingHandler, System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
  </handlers>
</system.webServer>

注意事項

  • 虛擬主機若不支援 .mvc 副檔名,可改用 .ashx 或 .aspx 對應。
  • 需確認主機已安裝 .NET 3.5 執行階段(即使應用程式集區設為 2.0)。
  • 此為相容性部署方案,新專案建議直接以 .NET 4.x+ 開發。

結語

透過組件本機複製與 Web.config 精準調整,可在舊版 .NET 2.0 主機上執行 ASP.NET MVC 應用程式,延長舊環境投資報酬。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved