我正在调试一个项目,Visual Studio 停止调试并在以下行关闭程序,没有异常或错误消息(我已启用选项中任何引发的异常的通知):
var query = Session.Linq<RSS>()
.Where(x => x.LastRetrieved <= date || x.LastRetrieved == null)
.Where(x => x.Moderated);
其中Session.Linq指的是LINQ2NHibernate。无论如何,问题是:这种行为的可能原因是什么?在 VS 2010 和 2008 上进行了测试 - 它们的行为相同,只是无法调试。
Update.如果我将应用程序类型更改为“控制台应用程序”,它会正常运行。很奇怪。
我遇到了类似的问题,虽然这可能不是您上述情况的解决方案,但我希望它对其他人有帮助。
我必须引用其他人编写的一个类,如下所示:
public class ItemPrice
{
public bool sucessIndicator
{
get { return sucessIndicator; }
set { sucessIndicator = value; }
}
public string productCode
{
get { return productCode; }
set { productCode = value; }
}
public string description
{
get { return description; }
set { description = value; }
}
public double price
{
get { return price; }
set { price = value; }
}
}
乍一看,它看起来不错……直到您注意到每个属性都引用它自己而不是私有成员。
So:
public string description
{
get { return description; }
set { description = value; }
}
正在递归地引用它并导致堆栈溢出异常,即使我启用了所有异常,VS 中也没有显示该异常。它只是停止调试,没有任何警告。
解决方案当然是像这样改变它:
public string description
{
get;
set;
}
希望对某人有帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)