C# 调试到不适合我的.net源代码

C# 调试到不适合我的.net源代码,c#,asp.net-mvc,debugging,C#,Asp.net Mvc,Debugging,我正在使用MVC4(测试版),在测试我编写的auth属性时遇到了一些问题 为了更深入地了解这一点,我尝试使用“调试到.NETFramework源代码”调试选项,以查看到底出了什么问题。我已按照此处的安装说明进行了操作: 在完成所有这些之后,当我调试到我的测试中以查看发生了什么时,当我进入调用.net fw的代码行时,测试只是终止,并给出我正在尝试调试的异常。为了完整起见,以下是我的代码: var controller = new MyController(); controller.SetFak

我正在使用MVC4(测试版),在测试我编写的auth属性时遇到了一些问题

为了更深入地了解这一点,我尝试使用“调试到.NETFramework源代码”调试选项,以查看到底出了什么问题。我已按照此处的安装说明进行了操作:

在完成所有这些之后,当我调试到我的测试中以查看发生了什么时,当我进入调用.net fw的代码行时,测试只是终止,并给出我正在尝试调试的异常。为了完整起见,以下是我的代码:

var controller = new MyController();
controller.SetFakeAuthenticatedControllerContext("foo"); // Set up a fake http context for the user

var actionDescriptor = new Mock<ActionDescriptor>();
actionDescriptor.SetupGet(x => x.ActionName).Returns("AddedForTest");

var context = new AuthorizationContext(controller.ControllerContext, actionDescriptor.Object);

var auth = new SamCommandAuthenticationAttribute();
auth.OnAuthorization(context); // On this line the test will just terminate

Assert.Pass(); // This line would never be called.
var controller=new MyController();
controller.SetFakeAuthenticatedControllerContext(“foo”);//为用户设置假http上下文
var actionDescriptor=new Mock();
SetupGet(x=>x.ActionName).Returns(“AddedForTest”);
var context=新授权上下文(controller.ControllerContext,actionDescriptor.Object);
var auth=新SamCommandAuthenticationAttribute();
授权(上下文);//在这条线上,测试将终止
Assert.Pass();//这条线路永远不会被呼叫。

有人知道我为什么无法调试到.net源代码中吗?

Microsoft Symbol server为.net framework程序集的子集提供符号

我不认为Mvc4测试版是其中之一

----增加---


正如Bond在评论中指出的那样,如果您想进入MVC4测试版源代码,您必须在解决方案中包括mvc项目并从中引用它,首先删除对您已安装的GAC版本的引用。Microsoft Symbol server为.net framework程序集的子集提供符号

我不认为Mvc4测试版是其中之一

----增加---


正如Bond在评论中指出的那样,如果你想进入MVC4测试版,你必须在你的解决方案中包括mvc项目并从中引用它,首先删除对你安装的GAC版本的引用,你有pdb文件,对吗?嗯,我是从WPI安装MVC4的,我很确定这也会得到pdb的。另外,我可以从源代码中手动“导航到源代码”,这让我可以看到mvc4代码,所以我想我是这样做的…你有pdb文件,对吗?嗯,我从WPI安装了mvc4,我很确定它也有pdb文件。另外,我可以从源代码中手动“导航到源代码”,这让我可以看到mvc4代码,所以我认为我可以…哦,对了,所以直到微软将mvc4的符号粘贴到他们的服务器中,我才能调试到其中?有没有办法用我自己的pdb文件做到这一点?是的-在解决方案中包括mvc项目,并从那里引用它,首先删除对您已安装的GAC版本的引用。所以,在MS将mvc4的符号粘贴到其服务器中之前,我无法调试它?有没有一种方法可以用我自己的pdb文件做到这一点?是的-将mvc项目包括在您的解决方案中,并从中引用它,方法是首先删除对您安装的GAC版本的引用