我正在调试一个项目,Visual Studio停止调试并关闭以下行中的程序,没有异常或错误消息(我已经为选项中的任何抛出异常启用了通知):
var query = Session.Linq<RSS>()
.Where(x => x.LastRetrieved <= date || x.LastRetrieved == null)
.Where(x => x.Moderated);
Run Code Online (Sandbox Code Playgroud)
Session.Linq指的是LINQ2NHibernate.无论如何,问题是:这种行为的可能原因是什么?在VS 2010和2008上进行了测试 - 它们的行为完全不同于调试.
更新.如果我将应用程序类型更改为"控制台应用程序",则表现正常.很奇怪.
我遇到了类似的问题,虽然这可能不是您上述情况的解决方案,但我希望它对其他人有帮助。
我必须引用其他人编写的一个类,如下所示:
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; }
}
}
Run Code Online (Sandbox Code Playgroud)
乍一看,它看起来不错……直到您注意到每个属性都引用它自己而不是私有成员。
所以:
public string description
{
get { return description; }
set { description = value; }
}
Run Code Online (Sandbox Code Playgroud)
正在递归地引用它并导致堆栈溢出异常,即使我启用了所有异常,VS 中也没有显示该异常。它只是停止调试,没有任何警告。
解决方案当然是像这样改变它:
public string description
{
get;
set;
}
Run Code Online (Sandbox Code Playgroud)
希望对某人有帮助。
| 归档时间: |
|
| 查看次数: |
4037 次 |
| 最近记录: |