ASP.NET VNext 调试 MVC 源码
Posted
技术标签:
【中文标题】ASP.NET VNext 调试 MVC 源码【英文标题】:ASP.NET VNext Debugging MVC Source 【发布时间】:2014-09-19 00:40:24 【问题描述】:我关注了blog post of Imran Baloch,他在其中展示了如何调试到 ASP.Net MVC VNext。
我在安装了 Vs 2014 的 Azure 中使用了一个 VM。
我创建了全局解决方案文件夹并在其中放置了一个 global.json 文件,其中我指定了包含从 https://github.com/aspnet/Mvc/tree/dev/src 克隆的当前 MVC 源的文件夹。 当我尝试编译解决方案时,由于缺少引用而出现很多错误。
有人尝试过博文中提出的方法吗?我做错了什么?
【问题讨论】:
这听起来像是一个 NuGet 问题,解决方案是否设置为在构建期间检索丢失的 NuGet 包?如果是这样,也许像***.com/questions/24115923/… 这样的东西可能会有所帮助? 【参考方案1】:我在这里瞎了眼,因为将源添加到 global.json 对我来说很好。
尝试将 NuGet.config 文件添加到您的解决方案中,其中包含以下内容:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="AspNetVNext" value="https://www.myget.org/F/aspnetvnext/" />
<add key="NuGet.org" value="https://nuget.org/api/v2/" />
</packageSources>
</configuration>
另外,请尝试在解决方案文件夹的根目录下运行 kpm restore
。
如果这没有帮助,请添加更多信息,例如 KRE 版本、<user profile>\.kre
或 <user profile>\.kpm
文件夹中的内容
【讨论】:
【参考方案2】:将“http://www.myget.org/F/aspnetvnext/api/v2”添加到工具 -> 选项 -> nuget 包管理器 -> 包源
【讨论】:
【参考方案3】:我刚刚跑了: 混帐克隆https://github.com/aspnet/Mvc.git kvm升级 公里数恢复
然后我在vs2014 ctp2中打开mvc解决方案,它打开并正确编译。我认为您的 project.json 中的版本号与您克隆的 mvc 版本中使用的版本号不匹配。微软前段时间更改了版本号。
我盒子上的mvc克隆版本使用的是Microsoft.AspNet.FileSystems 1.0.0-*版本,mvc源码中没有包含,是包参考。它还使用了 Miccrosoft.AspNet.Mvc.Common 版本“”,这是一个源代码参考。您可以尝试调整 project.json 以匹配数字。
HTH, 巴特
【讨论】:
【参考方案4】:也许要回答自己的问题,您可能需要阅读这篇文章:
http://blogs.msdn.com/b/webdev/archive/2015/02/06/debugging-asp-net-5-framework-code-using-visual-studio-2015.aspx
混合不同的版本(是的,ASP.NET 5 / MVC 6 仍然是一个移动的目标!)可能会导致非常烦人的结果。阅读并查看。
【讨论】:
以上是关于ASP.NET VNext 调试 MVC 源码的主要内容,如果未能解决你的问题,请参考以下文章
在 ASP.NET 5 (vNext) MVC 6 中实现自定义路由器