我正在尝试配置Visual Studio 2012以允许我进入ASP.NET MVC 4.0源代码.(System.Web.Mvc.dll).我遵循了SymbolSource的推荐配置,但是当我尝试加载符号时,Visual Studio无法找到它们.
推荐配置
要配置Visual Studio以使用符号/服务器,请按照以下说明操作:
- 转到工具 - >选项 - >调试器 - >常规.
- 取消选中"仅启用我的代码(仅管理)".
- 取消选中"启用.NET Framework源步进".是的,这是误导性的,但如果不这样做,那么Visual Studio将忽略您的自定义服务器顺序(请参阅下文).
- 选中"启用源服务器支持".
- 取消选中"要求源文件与原始版本完全匹配"
- 转到工具 - >选项 - >调试器 - >符号.选择本地符号/源缓存的文件夹.
- 在"符号文件(.pdb)位置"下添加符号服务器.请注意正确的顺序,因为某些服务器可能包含相同二进制文件的符号:有或没有来源.我们建议使用以下设置:
- http://referencesource.microsoft.com/symbols
- http://srv.symbolsource.org/pdb/Public或经过验证的变体(见上文)
- http://srv.symbolsource.org/pdb/MyGet或经过身份验证的变体(见上文)(其他带源代码的服务器)
- http://msdl.microsoft.com/download/symbols(没有来源的其他符号服务器)
我知道CodePlex上提供了源代码,但是我特别感兴趣的是使用符号服务器来代替代码,而不必从GAC中引用Mvc并引用本地构建的程序集.
有没有人用MVC 4.0做到这一点?
Sim*_*mon 15
只需添加一个符号服务器,该服务器只提供主要版本.
试试这个,包含大多数次要版本.
http://srv.symbolsource.org/pdb/Public
Run Code Online (Sandbox Code Playgroud)
校验:
以管理员身份运行VS.
检查是否已将某些内容下载到符号缓存目录中.
转到仅选择指定的模块.添加"System.Web.Mvc.dll"
在代码中设置断点.开始调试.当断点点击任意mvc.dll行的callstack中右键单击时.验证是否已加载符号.如果已加载,请在一个callstack行上尝试dubbleclick打开mvc源.
找回遇到麻烦的地方.
小智 6
我将对Luke Gumbley的anwser做一些改进.
微软试图让开发人员的生活更轻松.每当它发布MVC版本安装程序时,也应该有一个Source来下载.因此,人们可以使用源来探索安装程序安装的内容,以及调试MVC.
回到下载MVC调试信息的方式.如果您的系统上安装了MVC4,您的Visual Studio(我使用2010)将永远不会尝试从上述服务器下载MVC PDB文件.在这种情况下,运行调试器时,Visual Studio将使用GAC中的MVC.
我尝试过Luke Gumbley建议的方式.但是,一旦卸载MVC,您的MVC项目将不会被加载,并且由于模板消失,您无法创建新的MVC项目.所以请不要松开MVC.如果这样做,您仍然需要重新安装它.这浪费了时间.
您真正需要做的是退出Visual Studio,运行命令
gacutil /u System.Web.Mvc
Run Code Online (Sandbox Code Playgroud)
然后转到C:\Windows\Microsoft.NET\assembly\GAC_MSIL,删除或重命名有问题的System.Web.Mvc文件夹.在此之后,使用Visual Studio,从NuGet获取MVC包.
我无法直接回答您的问题并为您提供System.Web.Mvc.dllASP.NET MVC 4.0 的带有符号 (.pdb) 的 URL,但也许我可以帮助您以另一种方式解决问题。
众所周知(例如参见此处),Microsoft 在http://aspnetwebstack.codeplex.com/上提供了 .NET 的当前源代码。在这篇文章中,描述了如何使用ASP.NET 的Nightly 版本(代码的当前开发人员状态)。如果您之前没有使用过 Git,则在下载ASP.NET 4.5(带有 ASP.NET MVC 4.0)的RTM 版本时可能会遇到问题,您可能更愿意使用该版本而不是 Nightly 版本。尽管如此,下载 RTM 版本的完整源代码还是很容易的。您只需要知道 Git 允许在分支或标记版本中保存代码副本即可。通过这种方式,您可以访问(并下载)完整代码的某些早期版本。例如,该链接为您提供 jQuery 1.8.2,而不是另一个链接为您提供可能不稳定的最新开发人员版本。因此,要下载RTM版本的源代码,您只需选择“v2-rtm”分支,然后单击“下载”:

您可以使用链接直接选择“v2-rtm”分支。
我可以重复一遍,这并不完全是您所要求的,而且我知道编译 ASP.NET 源代码也可能有点棘手,但我决定写下这些信息。如果有人建议您更好的解决方案,这对我来说也会很有趣。
| 归档时间: |
|
| 查看次数: |
11432 次 |
| 最近记录: |