如何调试asp.net mvc 4源代码?
我从这里下载最新的源代码:
http://aspnetwebstack.codeplex.com/SourceControl/list/changesets
1)将system.web.mvc项目添加到我的解决方案中,其中包括system.web.mvc项目依赖的其他项目. 2)将GAC中的“CollaborativeDesign.WebUI”,“CollaborativeDesign.Domain”,“CollaborativeDesign.UnitTest”项目中的system.web.mvc程序集的引用更改为system.web.mvc项目. 3)更改根Web.config文件,如下所示: 4)在“查看”目录中更改Web.config文件,如下所示: <!--<pages validateRequest="false" pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter,System.Web.Mvc,Version=4.0.0.0,Culture=neutral,PublicKeyToken=31BF3856AD364E35" pageBaseType="System.Web.Mvc.ViewPage,PublicKeyToken=31BF3856AD364E35" userControlBaseType="System.Web.Mvc.ViewUserControl,PublicKeyToken=31BF3856AD364E35"> <controls> <add assembly="System.Web.Mvc,PublicKeyToken=31BF3856AD364E35" namespace="System.Web.Mvc" tagPrefix="mvc" /> </controls> </pages>--> <pages validateRequest="false" pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter,PublicKeyToken=null" pageBaseType="System.Web.Mvc.ViewPage,PublicKeyToken=null" userControlBaseType="System.Web.Mvc.ViewUserControl,PublicKeyToken=null"> <controls> <add assembly="System.Web.Mvc,PublicKeyToken=null" namespace="System.Web.Mvc" tagPrefix="mvc" /> </controls> </pages> 5)当我运行项目时,看起来仍然使用GAC system.web.mvc.dll,因为当我在“system.c”文件中设置断点在“system.web.mvc”项目中时,它表明它没有加载文档的任何符号,我也不能进入mvc源代码的方法. 如何调试源代码? 解决方法
通过执行@ Rick.Anderson-at-Microsoft.com的注释,我已经通过执行以下附加步骤来解决此问题:
1 GT;在Visual Command行中运行“sn.exe -Vr *,31BF3856AD364E35” 2 – ;将System.Web.Mvc项目中的CommonAssemblyInfo.cs中的“AssemblyVersion”和“AssemblyFileVersion”从“4.0.0.0”更改为“4.0.0.1”.重建项目. #if ASPNETMVC [assembly: AssemblyVersion("4.0.0.1")] [assembly: AssemblyFileVersion("4.0.0.1")] [assembly: AssemblyProduct("Microsoft ASP.NET MVC")] #elif ASPNETWEBPAGES 3 GT;更改根目录中的Web.config文件 <compilation debug="true" targetFramework="4.0"> <assemblies> <add assembly="System.Web.Abstractions,PublicKeyToken=31BF3856AD364E35" /> <add assembly="System.Web.Helpers,Version=2.0.0.0,PublicKeyToken=31BF3856AD364E35" /> <add assembly="System.Web.Routing,PublicKeyToken=31BF3856AD364E35" /> <add assembly="System.Web.Mvc,Version=4.0.0.1,PublicKeyToken=31BF3856AD364E35" /> <!--<add assembly="System.Web.Mvc,PublicKeyToken=null" />--> <add assembly="System.Web.WebPages,PublicKeyToken=31BF3856AD364E35" /> <add assembly="System.Data.Entity,PublicKeyToken=b77a5c561934e089"/> <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" /> <bindingRedirect oldVersion="1.0.0.0" newVersion="2.0.0.0" /> </dependentAssembly> <dependentAssembly> <!--<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />--> <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31BF3856AD364E35" /> <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="4.0.0.1" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" /> <bindingRedirect oldVersion="1.0.0.0" newVersion="2.0.0.0" /> </dependentAssembly> </assemblyBinding> 4>更改View目录中的Web.config文件 <system.web.webPages.razor> <!--<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory,PublicKeyToken=31BF3856AD364E35" />--> <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory,PublicKeyToken=31BF3856AD364E35" /> <pages pageBaseType="System.Web.Mvc.WebViewPage"> <namespaces> <add namespace="System.Web.Mvc" /> <add namespace="System.Web.Mvc.Ajax" /> <add namespace="System.Web.Mvc.Html" /> <add namespace="System.Web.Routing" /> <add namespace="DevTrends.MvcDonutCaching" /> </namespaces> <!--<pages validateRequest="false" pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter,PublicKeyToken=31BF3856AD364E35"> <controls> <add assembly="System.Web.Mvc,PublicKeyToken=31BF3856AD364E35" namespace="System.Web.Mvc" tagPrefix="mvc" /> </controls> </pages>--> <pages validateRequest="false" pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter,PublicKeyToken=31BF3856AD364E35"> <controls> <add assembly="System.Web.Mvc,PublicKeyToken=31BF3856AD364E35" namespace="System.Web.Mvc" tagPrefix="mvc" /> </controls> </pages> 5个重新启动Asp.net开发服务器.好的,享受源代码!感谢@ Rick.Anderson-at-Microsoft.com发表评论. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 如何在asp.net中向客户端发送“拒绝访问”的http响应?
- 多线程异步编程示例和实践-Thread和ThreadPool
- ASP.Core获取appsettings.json配置信息项
- asp.net代码中修改web.config节点的具体方法
- IdentityServer4身份认证授权入门-----客户端凭据、密码模式
- 探索ASP.NET Identity 身份验证和基于角色的授权,中级篇
- asp.net – FormsAuthentication.GetRedirectUrl始终返回默
- asp.net-mvc – 我应该将ASP.NET MVC作为NuGet包引用吗?
- asp.net – GetExternalLoginInfoAsync()loginInfo返回null
- asp.net – 如何防止CPU占用100%,因为iis中的工作进程
- asp.net – 使用Visual Studio 2008 Web部署项目
- 如何使用ASP.NET C#将Excel数据导入SQL Server,其
- asp.net-web-api – 间歇性“无法加载类型”Syst
- 在ASP.NET标记中“使用”等效的命名空间
- asp.net – 如何在不构建网站的情况下使用MSBuil
- asp.net – Visual Studio – 为什么.ASPX文件比
- asp.net-mvc – 针对MVC Web应用程序的域驱动设计
- asp.net – Oracle中的参数化查询问题
- asp.net-mvc – DDD原理和ASP.NET MVC项目设计
- asp.net-mvc – MVC4 HTML TextBox在修改ViewMod