当前位置:首页 » 操作系统 » mvc4源码

mvc4源码

发布时间: 2022-09-21 05:58:50

Ⅰ 如何调试MVC4的代码

下载了 http //aspnetwebstack codeplex com/SourceControl/list/changesets 这上面
.NET 4.0 RTM的源码,

装了一个git,然后下载就可以了

git clone https //git01 codeplex com/aspnetwebstack.git

时间稍微长了点儿,半个小时吧;

然后里面src全是MVC4的源码(其实很大一部分都在里面了)

解决反感是runtime.sln的,打开之后,在里面新建一个MVC4的项目,

这里有个问题,我下载的MVC4,在
system.web.mvc项目里Properties\CommonAssembley.cs里,全是5.0.0.0的版本号,

我把他改成了5.0.0.1

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

然后修改根目录下的 web.config

<appSettings>

<add
key="webpages:Version" value="3.0.0.0" />

<add key="webpages:Enabled" value="false" />

<add key="PreserveLoginUrl" value="true" />

<add key="ClientValidationEnabled" value="true" />

<add key="UnobtrusiveJavaScriptEnabled" value="true" />

</appSettings>
这里之所以改成3.0.0.0的原因,是因为在我下载的源码里,他的版本号就是3.0,

<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="3.0.0.0" />

</dependentAssembly>

<dependentAssembly>

<assemblyIdentity name="System.Web.Mvc"
publicKeyToken="31bf3856ad364e35" />

<bindingRedirect
oldVersion="1.0.0.0-4.0.0.0" newVersion="5.0.0.1" />

</dependentAssembly>

<dependentAssembly>

<assemblyIdentity name="System.Web.WebPages"
publicKeyToken="31bf3856ad364e35" />

<bindingRedirect oldVersion="1.0.0.0-2.0.0.0"
newVersion="3.0.0.0" />

</dependentAssembly>

<dependentAssembly>

<assemblyIdentity name="EntityFramework"
publicKeyToken="b77a5c561934e089" />

<bindingRedirect oldVersion="1.0.0.0-5.0.0.0"
newVersion="5.0.0.0" />

</dependentAssembly>

<dependentAssembly>

<assemblyIdentity name="WebGrease"
publicKeyToken="31bf3856ad364e35" />

<bindingRedirect oldVersion="1.0.0.0-1.3.0.0"
newVersion="1.3.0.0" />

</dependentAssembly>

</assemblyBinding>

</runtime> 这里的改成了我自己的版本号

然后修改view下面的web.config

<configSections>

<sectionGroup name="system.web.webPages.razor"
type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup,
System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral,
PublicKeyToken=31BF3856AD364E35">

<section name="host"
type="System.Web.WebPages.Razor.Configuration.HostSection,
System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral,
PublicKeyToken=31BF3856AD364E35" requirePermission="false" />

<section name="pages"
type="System.Web.WebPages.Razor.Configuration.RazorPagesSection,
System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral,
PublicKeyToken=31BF3856AD364E35" requirePermission="false" />

</sectionGroup>

</configSections>
这里修改成了3.0,当然具体是什么,看你自己下载的,但是我觉得大部分应该跟我的是一样的(环境VS2012,源码4.0 RTM)

<system.web.webPages.razor>

<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory,
System.Web.Mvc, Version=5.0.0.1,
Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

<pages pageBaseType="System.Web.Mvc.WebViewPage">

<namespaces>

<pages

validateRequest="false"

pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter,
System.Web.Mvc, Version=5.0.0.1,
Culture=neutral, PublicKeyToken=31BF3856AD364E35"

pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc,
Version=5.0.0.1, Culture=neutral,
PublicKeyToken=31BF3856AD364E35"

userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc,
Version=5.0.0.1,
Culture=neutral,
PublicKeyToken=31BF3856AD364E35">

同样,修改之(具体是不是不修改也成,我就不知道了,我是按照网上的方法改的,最后的地方,会给出连接大家注意学习吧)

这样,配置文件和MVC代码中的版本号,就修改完了,

然后打开VS2012的命令行,执行

Run
"sn.exe -Vr *,31BF3856AD364E35" in the Visual Command line (哈哈,你看,我真的是COPY的,原创的东西几乎没有)

然后把项目中的system.web.mvc的引用,改到你的MVC4的源码里的项目,当然,不止这一个,不然会有很多地方报错的,大致的DLL有 :
system.web.razot; system.web.webpages;system.web.webpages.deployment;
system.web.webpages.razor; 这里不全没关系,网页上会明确提示少哪个的.

如果出现了一个类型转换的错误:

用户代码未处理
System.InvalidCastException

HResult=-2147467262

Message=[A]System.Web.WebPages.Razor.Configuration.HostSection 无法强制转换为
[B]System.Web.WebPages.Razor.Configuration.HostSection。类型 A
源自“System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35”(在上下文“Default”中的“C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.WebPages.Razor\v4.0_2.0.0.0__31bf3856ad364e35\System.Web.WebPages.Razor.dll”位置处)。类型
B 源自“System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35”(在上下文“Default”中的“C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary
ASP.NET
Files\root\49f25bf0\9ce908d5\assembly\dl3\70f2ab4b\b0630cdc_834fce01\System.Web.WebPages.Razor.dll”位置处)。

Source=System.Web.WebPages.Razor

这个错误,就是我为什么要该system.web.webpages的版本好的原因了; 如果出现其他DLL,大家也可以随着改一下;

之后,就可以在页面中随便加空间,就能看到断点的执行了,好运;

Ⅱ 求C# MVC4 做的上传附件下载附件的功能 附件路径存在数据库中 附件存在项目下的uploading文件中 求源码

建议使用uploadfy插件,但有一点,配置文件里得改,不然不能上传大文件
下载在Controller里返回FileStreamResult就行了
return File(new FileStream(fullPath, FileMode.Open), "application/octet-stream", Server.UrlEncode(Path.GetFileName(fullPath)));

Ⅲ 如何调试MVC4的代码

下载了 http //aspnetwebstack codeplex com/SourceControl/list/changesets 这上面
.NET 4.0 RTM的源码,

装了一个git,然后下载就可以了

git clone https //git01 codeplex com/aspnetwebstack.git

时间稍微长了点儿,半个小时吧;

然后里面src全是MVC4的源码(其实很大一部分都在里面了)

解决反感是runtime.sln的,打开之后,在里面新建一个MVC4的项目,

这里有个问题,我下载的MVC4,在
system.web.mvc项目里Properties\CommonAssembley.cs里,全是5.0.0.0的版本号,

我把他改成了5.0.0.1

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

然后修改根目录下的 web.config

<appSettings>

<add
key="webpages:Version" value="3.0.0.0" />

<add key="webpages:Enabled" value="false" />

<add key="PreserveLoginUrl" value="true" />

<add key="ClientValidationEnabled" value="true" />

<add key="UnobtrusiveJavaScriptEnabled" value="true" />

</appSettings>
这里之所以改成3.0.0.0的原因,是因为在我下载的源码里,他的版本号就是3.0,

<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="3.0.0.0" />

</dependentAssembly>

<dependentAssembly>

<assemblyIdentity name="System.Web.Mvc"
publicKeyToken="31bf3856ad364e35" />

<bindingRedirect
oldVersion="1.0.0.0-4.0.0.0" newVersion="5.0.0.1" />

</dependentAssembly>

<dependentAssembly>

<assemblyIdentity name="System.Web.WebPages"
publicKeyToken="31bf3856ad364e35" />

<bindingRedirect oldVersion="1.0.0.0-2.0.0.0"
newVersion="3.0.0.0" />

</dependentAssembly>

<dependentAssembly>

<assemblyIdentity name="EntityFramework"
publicKeyToken="b77a5c561934e089" />

<bindingRedirect oldVersion="1.0.0.0-5.0.0.0"
newVersion="5.0.0.0" />

</dependentAssembly>

<dependentAssembly>

<assemblyIdentity name="WebGrease"
publicKeyToken="31bf3856ad364e35" />

<bindingRedirect oldVersion="1.0.0.0-1.3.0.0"
newVersion="1.3.0.0" />

</dependentAssembly>

</assemblyBinding>

</runtime> 这里的改成了我自己的版本号

然后修改view下面的web.config

<configSections>

<sectionGroup name="system.web.webPages.razor"
type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup,
System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral,
PublicKeyToken=31BF3856AD364E35">

<section name="host"
type="System.Web.WebPages.Razor.Configuration.HostSection,
System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral,
PublicKeyToken=31BF3856AD364E35" requirePermission="false" />

<section name="pages"
type="System.Web.WebPages.Razor.Configuration.RazorPagesSection,
System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral,
PublicKeyToken=31BF3856AD364E35" requirePermission="false" />

</sectionGroup>

</configSections>
这里修改成了3.0,当然具体是什么,看你自己下载的,但是我觉得大部分应该跟我的是一样的(环境VS2012,源码4.0 RTM)

<system.web.webPages.razor>

<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory,
System.Web.Mvc, Version=5.0.0.1,
Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

<pages pageBaseType="System.Web.Mvc.WebViewPage">

<namespaces>

<pages

validateRequest="false"

pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter,
System.Web.Mvc, Version=5.0.0.1,
Culture=neutral, PublicKeyToken=31BF3856AD364E35"

pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc,
Version=5.0.0.1, Culture=neutral,
PublicKeyToken=31BF3856AD364E35"

userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc,
Version=5.0.0.1,
Culture=neutral,
PublicKeyToken=31BF3856AD364E35">

同样,修改之(具体是不是不修改也成,我就不知道了,我是按照网上的方法改的,最后的地方,会给出连接大家注意学习吧)

这样,配置文件和MVC代码中的版本号,就修改完了,

然后打开VS2012的命令行,执行

Run
"sn.exe -Vr *,31BF3856AD364E35" in the Visual Command line (哈哈,你看,我真的是COPY的,原创的东西几乎没有)

然后把项目中的system.web.mvc的引用,改到你的MVC4的源码里的项目,当然,不止这一个,不然会有很多地方报错的,大致的DLL有 :
system.web.razot; system.web.webpages;system.web.webpages.deployment;
system.web.webpages.razor; 这里不全没关系,网页上会明确提示少哪个的.

如果出现了一个类型转换的错误:

用户代码未处理
System.InvalidCastException

HResult=-2147467262

Message=[A]System.Web.WebPages.Razor.Configuration.HostSection 无法强制转换为
[B]System.Web.WebPages.Razor.Configuration.HostSection。类型 A
源自“System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35”(在上下文“Default”中的“C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.WebPages.Razor\v4.0_2.0.0.0__31bf3856ad364e35\System.Web.WebPages.Razor.dll”位置处)。类型
B 源自“System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35”(在上下文“Default”中的“C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary
ASP.NET
Files\root\49f25bf0\9ce908d5\assembly\dl3\70f2ab4b\b0630cdc_834fce01\System.Web.WebPages.Razor.dll”位置处)。

Source=System.Web.WebPages.Razor

这个错误,就是我为什么要该system.web.webpages的版本好的原因了; 如果出现其他DLL,大家也可以随着改一下;

之后,就可以在页面中随便加空间,就能看到断点的执行了,好运;

当然,网上还有个家伙说不用修改源代码,但是要下载SkipStrongNames的一个东西,但是我点了连接,提示我下载已经移除了,不知道怎么回事,要是有搞定了的同学,也请通知我下哈,学习学习;

Ⅳ asp.net mvc4发布到iis7.0,访问不正常。

看你这个link和script标签中的字符串。应该用的是BundleConfig来配置样式表和脚本。那么出现这种情况就有两种可能。第一种可能的确是和Layout没有加载到有关。第二种是BundleConfig中的写法错误(也有可能发布的时候样式表和脚本文件没有一起发布,不过这种可能性比较小,此处忽略)。解决方案如下:

对于第一种情况,加载不到的原因可能是:你用了区域Areas。没有指定全局Layout,也没有指定局部Layout那么当然加载不到。你只要在每个cshtml文件的开头都用

Layout="~/Layout路径";

这种形式指定。这样就解决了。

对于第二种。稍微复杂。在BundleConfig中你肯定用到了如下的写法:

bundles.Add(newStyleBundle("~/Content/css").Include("~/Content/site.css"));

这里你要注意,默认情况下,BundleConfig的忽略规则会无视压缩文件,比如

bundles.Add(newStyleBundle("~/Content/css").Include("~/Content/site.min.css"));

这个路径里面带有“min”。会被认为是压缩过的样式文件。直接忽略。关于压缩的事情建议你搜索一下,关键字直接就用“BundleConfig”就行了。一大堆。你试试把min去掉或许就行了。

还有一点。还是这个文件路径的问题。你看这个StyleBundle或者ScriptBundle里面的字符串。必须要和你文件的路径吻合。比如:

bundles.Add(newStyleBundle("~/Content/themes/base/css").Include(
"~/Content/themes/base/jquery-ui.css"));

关于/Content/themes/base/css这里面的最后一个css。这个好像是可以自定义的。我以前研究过mvc4源代码。现在忘记掉了。你可以自己去试试。或者也去看看源代码。

至于include中的路径就更不用说了必须要写相对路径。


就是这样了。

Ⅳ 如何在MVC应用程序中使用Jquery

首先MVC4应该是自带了jquery ui, 你检查一下BundleConfig.cs中有没有ui相关的css及js绑定,再检查一下页面上是否有绑定,运行时看一下源码是不是已经读到ui相关的css及js,路径是否正确。

Ⅵ 如何调试MVC4的代码

装了一个git,然后下载就可以了
git clone git01.codeplex.com/aspnetwebstack.git
时间稍微长了点儿,半个小时吧;
然后里面src全是MVC4的源码(其实很大一部分都在里面了)
解决反感是runtime.sln的,打开之后,在里面新建一个MVC4的项目,
这里有个问题,我下载的MVC4,在 system.web.mvc项目里Properties\CommonAssembley.cs里,全是5.0.0.0的版本号,
我把他改成了5.0.0.1
#if ASPNETMVC [assembly: AssemblyVersion("5.0.0.1")] [assembly: AssemblyFileVersion("5.0.0.1")] [assembly: AssemblyProct("Microsoft ASP.NET MVC")] #elif ASPNETWEBPAGES
然后修改根目录下的 web.config
<appSettings>
<add key="webpages:Version" value="3.0.0.0" />
<add key="webpages:Enabled" value="false" />
<add key="PreserveLoginUrl" value="true" />
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings> 这里之所以改成3.0.0.0的原因,是因为在我下载的源码里,他的版本号就是3.0,
<runtime>

Ⅶ SpringMVC4中RequestMappingHandlerAdapter为什么被创建了两个

这个可能是因为你在springmvc配置文件中,同时配置了<mvc:annotion-driven/>和
RequestMappingHandlerAdapter的bean,所以最后springmvc上下文中就有了两个类型都为RequestMappingHandlerAdapter的bean,但两个不影响使用,因为它们其实是有优先级排序的(当DispatcherServlet初始化的时候会根据优先级排序)。在springmvc配置文件中,放在前面的优先级高。如果想改变自己添加的RequestMappingHandlerAdapter的bean的优先级,让它高。要么把它<mvc:annotion-driven/>后面;要么设置order属性,只要order属性小于Integer.MAX_VALUE,放的顺序就可以忽略,按order看优先级

Ⅷ SpringMVC4中RequestMappingHandlerAdapter为什么被创建了两个

,这两个类在spring的的框架源码里面有默认的设置。如果不在配置文件指定的话,当你启动spring时会调用默认的那个。

热点内容
随机启动脚本 发布:2025-07-05 16:10:30 浏览:515
微博数据库设计 发布:2025-07-05 15:30:55 浏览:19
linux485 发布:2025-07-05 14:38:28 浏览:299
php用的软件 发布:2025-07-05 14:06:22 浏览:750
没有权限访问计算机 发布:2025-07-05 13:29:11 浏览:425
javaweb开发教程视频教程 发布:2025-07-05 13:24:41 浏览:686
康师傅控流脚本破解 发布:2025-07-05 13:17:27 浏览:233
java的开发流程 发布:2025-07-05 12:45:11 浏览:678
怎么看内存卡配置 发布:2025-07-05 12:29:19 浏览:277
访问学者英文个人简历 发布:2025-07-05 12:29:17 浏览:828