vs2012下調試mvc4源代碼

當前流行的應該是mvc3才對。然后在研究mvc3的源代碼時候,@Html這個屬性下的擴展方法Partial()都沒有。IntelliSense不會提示該方法,找了半天的資料也問了一些博友,沒看到好的解決棒法。最后沒轍另辟蹊蹺,就開始著手研究mvc4的源代碼。正好這幾天機器在體驗win8,然后就順便安裝了vs2012。所以就在vs2012下體驗mvc4的源碼。

部署如下:先去codeplex下載mvc4源碼,在vs2012下打開如圖:

image

關于mvc4源代碼的調試我參考了這個 地址 但是并沒有這么復雜。調試步驟:

1.新建項目:vs2012已經自帶了mvc3、mvc4.所以我建的是mvc4項目。

2.刪除該項目下的System.Web.MVC,引用源代碼下的mvc.dll

image

3.找到源代碼下的CommonAssemblyInfo.cs

image

#if ASPNETMVC
[assembly: AssemblyVersion("4.0.0.1")]
[assembly: AssemblyFileVersion("4.0.0.1")]
[assembly: AssemblyProduct("Microsoft ASP.NET MVC")]
#elif ASPNETWEBPAGES

將這里的版本更該為4.0.0.1。

3.然后將我們自己剛建立的測試項目下的web.config。runtime節點下的mvc程序集版本更改為4.0.0.1

 <runtime><assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"><dependentAssembly><assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" /><bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" /></dependentAssembly><dependentAssembly><assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" /><bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="4.0.0.1" /><!--更改這里--></dependentAssembly><dependentAssembly><assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" /><bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" /></dependentAssembly></assemblyBinding></runtime>

最后大功告成。可以調試了截圖。

image

image

image

image

至此:可以完整的調試了。最終效果圖如下:

image

?

當然不知道大家是如何來調試的,也許根本什么都沒改就直接可以調試了,在沒有更改程序集版本號的時候,我死進不去mvc源碼,總是說還未給該文檔加載符號@#$!#$%^&#。微軟的表述看不懂,就只有自己摸索了。

源碼地址:http://pan.baidu.com/s/1jG6Pkl4

當然也可以在codeplex上下載。

轉載于:https://www.cnblogs.com/_popc/archive/2013/01/24/2875810.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/376885.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/376885.shtml
英文地址,請注明出處:http://en.pswp.cn/news/376885.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

JAVA UDP網絡編程學習筆記

一、UDP網絡編程概述 采用TCP協議通信時&#xff0c;客戶端的Socket必須先與服務器建立連接&#xff0c;連接建立成功后&#xff0c;服務器端也會持有客戶端連接的Socket&#xff0c;客戶端的Socket與服務器端的Socket是對應的&#xff0c;它們構成了兩個端點之間的虛擬通信鏈路…

firefox 插件開發

IDE&#xff0c;你可以嘗試下NetBeans foxbeans這個插件。轉載于:https://www.cnblogs.com/sode/archive/2013/01/25/2876562.html

13種負載均衡算法

目錄前言&#xff08;1&#xff09;輪轉調度&#xff08;Round-Robin Scheduling&#xff09;算法&#xff08;2&#xff09;加權輪轉調度&#xff08;Weighted Round-Robin Scheduling&#xff09;算法&#xff08;3&#xff09;隨機均衡調度&#xff08;Random Scheduling&am…

對于shell腳本參數獲取時的一點小技巧

問題如下&#xff1a; 根據腳本參數的個數$#進行一個循環&#xff0c;在依次輸出每個參數$1 $2 $3...... 我有一個循環變量i $i 取到這時的i為1&#xff0c;我想使用這個1再去調用$1,也是就是打印出第一個參數 就是$($i)的意思來取到第幾個參數&#xff0c;當然$($i)是不好用的…

(轉)頁游安全攻與防,SWF加密和隱藏密匙

原文鏈接&#xff1a;http://netsecurity.51cto.com/art/201211/364775.htm 頁游&#xff0c;最最核心的就是客戶端&#xff08;swf&#xff09;與服務端的游戲通信了。游戲通信產生的封包&#xff0c;內容是否可識別&#xff0c;可篡改&#xff0c;可重放&#xff0c;處理邏輯…

C++自動類型推導 : auto 與 decltype 用法

基本用法與區別 auto 總是推導出“值類型”&#xff0c;絕不會是“引用”,如果有引用&#xff0c;auto會把引用去掉&#xff0c;推導出值類型&#xff1b; auto 可以附加上 const、volatile、*、& 這樣的類型修飾符&#xff0c;得到新的類型。 auto x 10L; // auto推導為…

C++智能指針使用指南 part1:基本使用

加粗樣式>TOC 智能指針是代理模式的具體應用&#xff0c;它使用 RAII 技術代理了裸指針&#xff0c;能夠自動釋放內存&#xff0c; 無需程序員干預&#xff0c;所以被稱為“智能指針”。 智能指針不是指針&#xff0c;而是一個對象&#xff0c;所以不要對其調用delete&…

AS3.0 BitmapData類介紹

注&#xff1a;文中的Bitmapdata和BMD均為同一意思BitmapData,BMD為其縮寫一&#xff0c;概括&#xff1a; Bitmapdata繼承Object對象&#xff0c;實現IBitmapDrawable接口&#xff0c;這個接口有什么用&#xff0c;你可以理解為Drawable,能被畫。官方介紹是&#xff1a;IBitma…

C++使用JSON的序列化與反序列化

這里使用的json解析工具為JSON for Modern C,使用的話僅需要包含頭文件。 獲取方式&#xff1a;wget https://github.com/nlohmann/json/releases/download/v3.7.3/json.hpp JSON json的序列化功能和map一樣&#xff0c;用關聯數組的"[]"來任意添加數據&#xff0c…

iOS判斷為空或者只為空格

本文轉載至 &#xff1a;http://www.cnblogs.com/superhappy/archive/2012/11/08/2761403.html 經常有需求 要判斷不能為空&#xff0c;后臺老是鄙視不做非空判斷的前端 &#xff0c;木辦法 只能寫一個。 第一種想法&#xff1a;我不就是判斷 是不是nil就可以了么。結果發現太天…

Hyper-V

Hyper-V&#xff1a;也就是虛擬化技術&#xff0c;允許終端用戶在同一臺機器上運行多個操作系統&#xff0c;支持32位和64位系統&#xff0c;可以直接在Windows 8上創建自己的虛擬機。開啟Hyper-V虛擬機需要更多的內存&#xff0c;正常運行需要至少4GB以上內存&#xff0c;所以…

sdut 1451 括號東東 DP

http://acm.sdut.edu.cn/sdutoj/problem.php?actionshowproblem&problemid1451 題意&#xff1a;中文..... 思路&#xff1a; pku有一道題&#xff0c;經典的括號匹配&#xff08;區間DP&#xff09;題目&#xff0c;那道題目是求的最長滿足條件的子串的長度&#xff0c;那…

CDN緩存替代算法

CDN緩存工作過程如下&#xff1a;用戶發出一個請求&#xff0c;如果請求被命中&#xff0c;緩存將對用戶的請求進行響應&#xff0c;返回其請求的數據&#xff1b;如果未被命中&#xff0c;緩存向上拉取用戶需要的數據&#xff0c;并對其存儲的數據進行替換。 緩存算法的意義在…

前端開發常用正則表達式

1、電話 var phone /(^[^1][0-9\-]{6,20}$)|(^(134|135|136|137|138|139|150|151|152|157|158|159|182|183|187|188|147|130|131|132|155|156|185|186|145|133|153|180|189|181|184)\d{8}$)/ 2、郵箱 var email /^([a-zA-Z0-9_.-])([a-zA-Z0-9_-])((\.[a-zA-Z0-9_-]{2,3}){1,…

android 中調用接口發送短信

轉載&#xff1a;http://ziyu-1.iteye.com/blog/1013932 android中可以通過兩種方式發送短信 第一&#xff1a;調用系統短信接口直接發送短信&#xff1b;主要代碼如下&#xff1a; Java代碼//直接調用短信接口發短信 SmsManager smsManager SmsManager.getDefault(); List…

linux 命令案例學習——文件搜索

兩個搜索文件的工具 locate ——僅僅通過文件名查找文件find ——依據文件的各種屬性在既定目錄&#xff08;包括子目錄&#xff09;里查找一個通常與文件搜索命令一起使用、處理搜索結果文件列表的命令 xargs1 locate 1.1 查找文件名中含有zip的文件名 locate zip 看下結…

Redis 緩存擊穿、緩存穿透、緩存雪崩的處理方法

常用的分布式緩存Redis單機并發量能達到萬級&#xff0c;常用的關系型數據庫MySQL一般并發量是千級&#xff0c;他們支持的并發量可能差十倍&#xff0c;所以要盡可能把流量攔截在緩存層。 緩存擊穿 一個并發訪問量比較大的key在某個時間過期&#xff0c;導致所有的請求直接打…

Java-- 異常與記錄日志

可以使用java.util.logging工具將輸出記錄在日志中。記錄日志的的功能還是很簡單的&#xff0c;下面直接鋪出代碼&#xff1a; 1 package com.exceptions;2 3 import java.io.*;4 import java.util.logging.Logger;5 6 class LoggingException extends Exception{7 private…

圖像處理基礎

圖像處理基礎 在計算機中&#xff0c;按照顏色和灰度的多少可以將圖像分為二值圖像、灰度圖像、索引圖像和真彩色RGB圖像四種基本類型。目前&#xff0c;大多數圖像處理軟件都支持這四種類型的圖像。 (1) 二值圖像&#xff1a;一幅二值圖像的二維矩陣僅由0、1兩個值構成&#x…

緩存一致性解決方法

對于緩存 數據庫讀寫&#xff0c;有個經典的Cache Aside Pattern&#xff1a; 讀取&#xff1a;先讀取緩存&#xff0c;緩存里沒有&#xff0c;讀取數據庫&#xff0c;然后返回響應&#xff0c;順便保存緩存&#xff1a; 更新&#xff1a;先更新數據庫&#xff0c;然后刪除緩…