![](/img/trans.png)
[英]Could not run WCF debug mode in visual studio 2017 community version
[英]Visual Studio 2017 - Cant view variables when in debug mode
我已经尝试解决这个问题已有一段时间了。
我在Visual Studio 2017中工作,并且有许多解决方案。 除调试变量外,每个调试变量中的每一个都向我显示变量及其值。 它运行完美。
我做了什么:
似乎无法解决此问题,我还有什么可以尝试的想法?
编辑 :澄清,我可以在调试时逐步执行代码,但是无法查看变量的值。
EditEdit :正在做一些测试,我有新的信息。 虽然是一个断点,但我看了几个变量。
编辑编辑
无法全部查看的变量已过时。
为了测试姿势,我删除了模型的所有变量,因此完全为空,然后将其初始化
public MySuperModel()
{
}
初始化
MySuperModel model = new MySuperModel();
通过将鼠标悬停或添加到手表/快速手表来查看模型,会产生一条消息,表明它已过时。
等等,这很奇怪
List<ClassA> list = new List<ClassA>();
ClassA retVal = list.Where(o => o.MyProperty1 == 1).FirstOrDefault();
这里不会有异常(错误), retVal为null,并且您将看不到类的属性或属性的值。
您所要做的就是将一些项目添加到列表中。
List<ClassA> list = new List<ClassA>();
list.Add(new ClassA() { MyProperty1 = 1, MyProperty2 = 2 }); //adding item
ClassA retVal = list.Where(o => o.MyProperty1 == 1).SingleOrDefault();
我已经找到了解决我问题的方法,但是我不知道它为什么起作用。
我会尽力解释。
我有一个包含IEnumerables的模型。
模型
public SuperModel()
{
public IEnumerable<MemberObject> memberList1{get; set;}
public IEnumerable<MemberObject> memberList2{get; set;}
}
控制者
public ActionResult Detail(Guid? id)
{
//Model initialized
SuperModel model = GetTheModel();
//Then there were 2 foreach loops throu my einumerables
foreach(var item in model.memberList1)
{
//Do things
}
foreach(var item in model.memberList2)
{
//Do things
}
}
如果我只在调试器中保留其中一个循环,那么调试器就中断了。
解决方法
public ActionResult Detail(Guid? id)
{
//Model initialized
SuperModel model = GetTheModel();
//Then there were 2 foreach loops throu my einumerables
model.memberList1.ToList().Foreach((item) =>
{
//Do Things
});
model.memberList2.ToList().Foreach((item) =>
{
//Do Things
});
}
鳍
我不知道为什么使用.ForEach方法有效而使用经典的foearch()循环无效。 但是,如果有人遇到类似问题,希望对您有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.