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

ASP.NET MVC RC 分離 Controllers/Views 專案後添加腳手架功能(一)

     編輯:關於ASP.NET

專案分離動機

真實項目中常將 Models、Views、Controllers 拆分為獨立組件:

  • MyMvc.Web — Views、靜態資源、啟動配置
  • MyMvc.Controllers — Controller、Action、Filter
  • MyMvc.Models — Domain、DTO、Service 接口
  • MyMvc.Data — Repository、EF/Dapper 實現

分離後的腳手架失效現象

Web專案添加視圖 Web專案添加控制器

Controllers 專案右鍵無「添加視圖」選項,Scaffold 模板未識別為 MVC 專案。

根因分析

Scaffold 功能依賴專案類型 GUID({F85E285D-A4E0-4152-9332-AB1D724D3325})與 System.Web.Mvc 引用的雙重檢測。單純類庫專案不具備此標識。

最小化啟用方案

1. 修改 .csproj 添加專案類型 GUID

<ProjectTypeGuids>{F85E285D-A4E0-4152-9332-AB1D724D3325};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>

2. 確保引用 MVC 核心程序集

<Reference Include="System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />

3. 添加最小 Web.config 啟用視圖編譯

<configuration>
  <configSections>
    <sectionGroup name="system.web.webPages.razor" ...> ... </sectionGroup>
  </configSections>
  <system.web.webPages.razor>
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc" />
  </system.web.webPages.razor>
</configuration>

驗證成果

重啟 VS 後,Controllers 專案右鍵出現「添加視圖」「添加控制器」,Scaffold 完全可用。

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