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 版本、&lt;user profile&gt;\.kre&lt;user profile&gt;\.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 中实现自定义路由器

如何在 ASP.Net MVC 6 中编辑和继续

结合CLR类库发布ASP.NET vNext/DNX

在 ASP.NET vNext 中使用 Ninject 时出现编译器错误 CS0246(未找到类型或命名空间)

ASP.NET 5 (vNext) - 获取配置设置

ASP.NET 5 (vNext) - 获取配置设置