Microsoft.AspNet.Mvc.Core.pdb未加载

时间:2015-06-29 15:22:25

标签: debugging asp.net-core class-library asp.net-core-mvc pdb-files

我有一个ASP.NET 5,MVC 6项目,该项目在同一解决方案中引用了CL。

当我尝试调试时,我无法进入CL的断点。

当我来到调用CL的函数并点击F11时,它只是继续,所以它不会进入调试函数。

当我调试并转到CL的功能并选择“Step into specific”并选择它所说的功能时:

Microsoft.AspNet.Mvc.Core.pdb not loaded.

Microsoft.AspNet.Mvc.Core.pdb contains the debug information required to find the source for the module Microsoft.AspNet.Mvc.Core.dll

Module Information 
   Version : 6.00.0.10417
   Original Location : <path in local disk>

Try one of the following options :
   Change existing PDB and binary search paths and retry:

        Microsoft Symbbol Servers

因此,当我尝试从微软符号服务器加载它时,它说:

在所选路径中找不到Microsoft.AspNet.Mvc.Core.pdb

我的主要项目是MVC 6,我的dll是目标框架:.Net 4.5.2

3 个答案:

答案 0 :(得分:1)

我认为由于beta性质,pdb文件不在符号服务器上。我认为在RTM之后(记得VS是RC但是asp.net 5仍然是测试版),它们将被添加到符号服务器中。

如果您之前需要支持,可以将asp.net MVC存储库(https://github.com/aspnet/Mvc.git)克隆到项目之外的位置。然后在global.json(解决方案级别文件)中将该路径添加到项目属性。这将指示编译器查找依赖项解析。编译器将始终尝试使用nuget包上的本地源来解析依赖关系。在Visual Studio中右键单击引用&gt;恢复包。您应该看到包图标更改以指示源。然后你可以简单地构建,直接进入源代码。

答案 1 :(得分:0)

尝试删除bin文件夹并重建解决方案。

答案 2 :(得分:0)

此错误可能是由于代码中的错误操作造成的。我在实现基类并在没有初始化数据库上下文的基方法调用的情况下覆盖其方法时遇到过此错误。但是在我的控制器中,我试图使用尚未初始化的 db 上下文,这导致了空引用错误。一旦我修复它,这个错误就消失了。

public class MyController : BaseController 
{
  private MyService _myService;

  protected override void Initialize(RequestContext requestContext)
  {
   //I missed the base call here
   //base.Initialize(requestContext);
   
    _myService = new MyService(myDbContext);
  }
}

public class BaseController : Controller
{
  public MyDbContext myDbContext { get; set; }

  protected override void Initialize(RequestContext requestContext)
  {
    base.Initialize(requestContext);
    myDbContext = HttpContext.GetOwinContext().Get<MongoDbContext>();
  }
}