Visual Studio停止调试,没有意外错误

Ego*_*hin 6 visual-studio

我正在调试一个项目,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上进行了测试 - 它们的行为完全不同于调试.

更新.如果我将应用程序类型更改为"控制台应用程序",则表现正常.很奇怪.

Ghl*_*ouw 4

我遇到了类似的问题,虽然这可能不是您上述情况的解决方案,但我希望它对其他人有帮助。

我必须引用其他人编写的一个类,如下所示:

    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)

希望对某人有帮助。